diff options
author | David Ahern <dsa@cumulusnetworks.com> | 2016-12-14 19:06:18 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-01-15 12:42:52 (GMT) |
commit | d4a0b2e40c46898a307e37a857f623c3d884b1fe (patch) | |
tree | 68c4ba6016a7586d9cbe0e4130ab0bedda7e1fa7 /drivers/net/vrf.c | |
parent | 584fd7872c1bc29d3b752bebb6a5b470018f83e8 (diff) | |
download | linux-d4a0b2e40c46898a307e37a857f623c3d884b1fe.tar.xz |
net: vrf: Fix NAT within a VRF
[ Upstream commit a0f37efa82253994b99623dbf41eea8dd0ba169b ]
Connection tracking with VRF is broken because the pass through the VRF
device drops the connection tracking info. Removing the call to nf_reset
allows DNAT and MASQUERADE to work across interfaces within a VRF.
Fixes: 73e20b761acf ("net: vrf: Add support for PREROUTING rules on vrf device")
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/net/vrf.c')
-rw-r--r-- | drivers/net/vrf.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/net/vrf.c b/drivers/net/vrf.c index 820de6a..5b995c4 100644 --- a/drivers/net/vrf.c +++ b/drivers/net/vrf.c @@ -850,8 +850,6 @@ static struct sk_buff *vrf_rcv_nfhook(u8 pf, unsigned int hook, { struct net *net = dev_net(dev); - nf_reset(skb); - if (NF_HOOK(pf, hook, net, NULL, skb, dev, NULL, vrf_rcv_finish) < 0) skb = NULL; /* kfree_skb(skb) handled by nf code */ |