]> git.baikalelectronics.ru Git - kernel.git/commit
core/dev: do not ignore dmac in dev_forward_skb()
authorAlexei Starovoitov <ast@plumgrid.com>
Tue, 12 Nov 2013 22:39:13 +0000 (14:39 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 14 Nov 2013 07:39:53 +0000 (02:39 -0500)
commitd30ffe837ed565328eb2cf4ba1675705a25ab4a4
tree27470d9df44d0361aee2a5ce9f4e4420d166c6ac
parentb66dc0d4d1f9704c0abfa3039aea27acae555991
core/dev: do not ignore dmac in dev_forward_skb()

commit e64ffa2d0a4a
("core/dev: set pkt_type after eth_type_trans() in dev_forward_skb()")
and refactoring 7171567f6cb1
("dev: move skb_scrub_packet() after eth_type_trans()")

are forcing pkt_type to be PACKET_HOST when skb traverses veth.

which means that ip forwarding will kick in inside netns
even if skb->eth->h_dest != dev->dev_addr

Fix order of eth_type_trans() and skb_scrub_packet() in dev_forward_skb()
and in ip_tunnel_rcv()

Fixes: e64ffa2d0a4a ("core/dev: set pkt_type after eth_type_trans() in dev_forward_skb()")
CC: Isaku Yamahata <yamahatanetdev@gmail.com>
CC: Maciej Zenczykowski <zenczykowski@gmail.com>
CC: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c
net/ipv4/ip_tunnel.c