[ovs-dev] [PATCH] core/dev: set pkt_type after eth_type_trans() in dev_forward_skb()

Nicolas Dichtel nicolas.dichtel at 6wind.com
Wed Jul 3 14:53:52 UTC 2013


Le 03/07/2013 01:00, David Miller a écrit :
> From: Isaku Yamahata <yamahata at valinux.co.jp>
> Date: Tue,  2 Jul 2013 20:30:10 +0900
>
>> The dev_forward_skb() assignment of pkt_type should be done
>> after the call to eth_type_trans().
>>
>> ip-encapsulated packets can be handled by localhost. But skb->pkt_type
>> can be PACKET_OTHERHOST when packet comes via veth into ip tunnel device.
>> In that case, the packet is dropped by ip_rcv().
>> Although this example uses gretap. l2tp-eth also has same issue.
>> For l2tp-eth case, add dummy device for ip address and ip l2tp command.
>   ...
>> Signed-off-by: Isaku Yamahata <yamahata at valinux.co.jp>
>
> Applied, but I had to adjust the patch because in net-next we use
> a new helper function (skb_scrub_packet()) to clear things out from
> dev_forward_skb().
What about calling skb_scrub_packet() after eth_type_trans()?

I wonder if the same problem may happen the day gre will support x-netns,
because skb_scrub_packet() is also called before eth_type_trans() in
ip_tunnel_rcv().



More information about the dev mailing list