diff options
author | Maxime Ripard <maxime.ripard@free-electrons.com> | 2013-04-08 21:39:22 +0200 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@free-electrons.com> | 2013-04-08 21:39:22 +0200 |
commit | 7c91d302ffe2ffac813c47d6ba2e7489a2ccb35f (patch) | |
tree | 78a2cf601e986694765b28079bf749a8eaa6a2b9 /drivers/net/vxlan.c | |
parent | 0b824f8dad9fdfc7c1bf9c1d3ac744075eb73ec6 (diff) | |
parent | 918d7f6f68620e0721bb31402ebf87e15f826831 (diff) | |
download | kernel_replicant_linux-7c91d302ffe2ffac813c47d6ba2e7489a2ccb35f.tar.gz kernel_replicant_linux-7c91d302ffe2ffac813c47d6ba2e7489a2ccb35f.tar.bz2 kernel_replicant_linux-7c91d302ffe2ffac813c47d6ba2e7489a2ccb35f.zip |
Merge remote-tracking branch 'clk/clk-for-3.10' into sunxi/core-for-3.10
Diffstat (limited to 'drivers/net/vxlan.c')
-rw-r--r-- | drivers/net/vxlan.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index f10e58ac9c1b..7cee7a3068ec 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -961,6 +961,8 @@ static netdev_tx_t vxlan_xmit(struct sk_buff *skb, struct net_device *dev) iph->ttl = ttl ? : ip4_dst_hoplimit(&rt->dst); tunnel_ip_select_ident(skb, old_iph, &rt->dst); + nf_reset(skb); + vxlan_set_owner(dev, skb); /* See iptunnel_xmit() */ @@ -1504,6 +1506,14 @@ static __net_init int vxlan_init_net(struct net *net) static __net_exit void vxlan_exit_net(struct net *net) { struct vxlan_net *vn = net_generic(net, vxlan_net_id); + struct vxlan_dev *vxlan; + unsigned h; + + rtnl_lock(); + for (h = 0; h < VNI_HASH_SIZE; ++h) + hlist_for_each_entry(vxlan, &vn->vni_list[h], hlist) + dev_close(vxlan->dev); + rtnl_unlock(); if (vn->sock) { sk_release_kernel(vn->sock->sk); |