svn commit: r272770 - in head/sys: net netinet
Andrey V. Elsukov
ae at FreeBSD.org
Wed Oct 8 21:23:35 UTC 2014
Author: ae
Date: Wed Oct 8 21:23:34 2014
New Revision: 272770
URL: https://svnweb.freebsd.org/changeset/base/272770
Log:
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
Modified:
head/sys/net/if_gif.c
head/sys/netinet/ip_gre.c
Modified: head/sys/net/if_gif.c
==============================================================================
--- head/sys/net/if_gif.c Wed Oct 8 20:46:38 2014 (r272769)
+++ head/sys/net/if_gif.c Wed Oct 8 21:23:34 2014 (r272770)
@@ -547,6 +547,7 @@ gif_input(struct mbuf *m, int af, struct
}
sc = ifp->if_softc;
m->m_pkthdr.rcvif = ifp;
+ m_clrprotoflags(m);
#ifdef MAC
mac_ifnet_create_mbuf(ifp, m);
Modified: head/sys/netinet/ip_gre.c
==============================================================================
--- head/sys/netinet/ip_gre.c Wed Oct 8 20:46:38 2014 (r272769)
+++ head/sys/netinet/ip_gre.c Wed Oct 8 21:23:34 2014 (r272770)
@@ -205,7 +205,7 @@ gre_input2(struct mbuf *m ,int hlen, u_c
}
m->m_pkthdr.rcvif = GRE2IFP(sc);
-
+ m_clrprotoflags(m);
netisr_queue(isr, m);
/* Packet is done, no further processing needed. */
More information about the svn-src-all
mailing list