summaryrefslogtreecommitdiffstats
path: root/sys/net/if_gif.c
diff options
context:
space:
mode:
authorae <ae@FreeBSD.org>2014-10-08 21:23:34 +0000
committerae <ae@FreeBSD.org>2014-10-08 21:23:34 +0000
commitd5044f2234d55bbd5358c31713f295718545e9f1 (patch)
treea0aa9bda6e2bb529162004d4c326002b55403bf7 /sys/net/if_gif.c
parent32befc6ec2a645ec57a0873d93ecf222f0ceb4bc (diff)
downloadFreeBSD-src-d5044f2234d55bbd5358c31713f295718545e9f1.zip
FreeBSD-src-d5044f2234d55bbd5358c31713f295718545e9f1.tar.gz
When tunneling interface is going to insert mbuf into netisr queue after stripping
outer header, consider it as new packet and clear the protocols flags. This fixes problems when IPSEC traffic goes through various tunnels and router doesn't send ICMP/ICMPv6 errors. PR: 174602 Obtained from: Yandex LLC MFC after: 2 weeks Sponsored by: Yandex LLC
Diffstat (limited to 'sys/net/if_gif.c')
-rw-r--r--sys/net/if_gif.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c
index f4cc3d8..5ae9ed3 100644
--- a/sys/net/if_gif.c
+++ b/sys/net/if_gif.c
@@ -547,6 +547,7 @@ gif_input(struct mbuf *m, int af, struct ifnet *ifp)
}
sc = ifp->if_softc;
m->m_pkthdr.rcvif = ifp;
+ m_clrprotoflags(m);
#ifdef MAC
mac_ifnet_create_mbuf(ifp, m);
OpenPOWER on IntegriCloud