summaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorDavid S. Miller2013-08-15 10:01:27 +0200
committerDavid S. Miller2013-08-15 10:01:27 +0200
commitf36f092065415b75b6be8377ae648c7114e7f099 (patch)
tree1de2d9f01b9947e87705c7d00082fa474e517c5f /net/core
parentipv6: make unsolicited report intervals configurable for mld (diff)
parentip6tnl: add x-netns support (diff)
downloadkernel-qcow2-linux-f36f092065415b75b6be8377ae648c7114e7f099.tar.gz
kernel-qcow2-linux-f36f092065415b75b6be8377ae648c7114e7f099.tar.xz
kernel-qcow2-linux-f36f092065415b75b6be8377ae648c7114e7f099.zip
Merge branch 'x-netns'
Nicolas Dichtel says: ==================== This series is a follow up of the previous series whcih adds this functionality for sit tunnels. The goal is to add x-netns support for the module ipip and ip6_tunnel, ie. the encapsulation addresses and the network device are not owned by the same namespace. Note that the two first patches are cleanups. Example to configure an ipip tunnel: modprobe ipip ip netns add netns1 ip link add ipip1 type ipip remote 10.16.0.121 local 10.16.0.249 ip l s ipip1 netns netns1 ip netns exec netns1 ip l s lo up ip netns exec netns1 ip l s ipip1 up ip netns exec netns1 ip a a dev ipip1 192.168.2.123 remote 192.168.2.121 or an ip6_tunnel: modprobe ip6_tunnel ip netns add netns1 ip link add ip6tnl1 type ip6tnl remote 2001:660:3008:c1c3::121 local 2001:660:3008:c1c3::123 ip l s ip6tnl1 netns netns1 ip netns exec netns1 ip l s lo up ip netns exec netns1 ip l s ip6tnl1 up ip netns exec netns1 ip a a dev ip6tnl1 192.168.1.123 remote 192.168.1.121 ip netns exec netns1 ip -6 a a dev ip6tnl1 2001:1235::123 remote 2001:1235::121 v2: remove the patch 1/3 of the v1 series (already included) use net_eq() add patch 1/4 and 2/4 ====================- Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 58eb802584b9..1ed2b66a10a6 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1691,13 +1691,13 @@ int dev_forward_skb(struct net_device *dev, struct sk_buff *skb)
kfree_skb(skb);
return NET_RX_DROP;
}
- skb_scrub_packet(skb);
skb->protocol = eth_type_trans(skb, dev);
/* eth_type_trans() can set pkt_type.
- * clear pkt_type _after_ calling eth_type_trans()
+ * call skb_scrub_packet() after it to clear pkt_type _after_ calling
+ * eth_type_trans().
*/
- skb->pkt_type = PACKET_HOST;
+ skb_scrub_packet(skb);
return netif_rx(skb);
}