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