Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Oct 2014 21:23:35 +0000 (UTC)
From:      "Andrey V. Elsukov" <ae@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r272770 - in head/sys: net netinet
Message-ID:  <201410082123.s98LNZng021938@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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. */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201410082123.s98LNZng021938>