diff options
author | ae <ae@FreeBSD.org> | 2014-10-08 21:23:34 +0000 |
---|---|---|
committer | ae <ae@FreeBSD.org> | 2014-10-08 21:23:34 +0000 |
commit | d5044f2234d55bbd5358c31713f295718545e9f1 (patch) | |
tree | a0aa9bda6e2bb529162004d4c326002b55403bf7 /sys/net/if_gif.c | |
parent | 32befc6ec2a645ec57a0873d93ecf222f0ceb4bc (diff) | |
download | FreeBSD-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.c | 1 |
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); |