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
This commit is contained in:
Andrey V. Elsukov 2014-10-08 21:23:34 +00:00
parent 315e69cb63
commit 5b7a43f546
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=272770
2 changed files with 2 additions and 1 deletions

View File

@ -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);

View File

@ -205,7 +205,7 @@ gre_input2(struct mbuf *m ,int hlen, u_char proto)
}
m->m_pkthdr.rcvif = GRE2IFP(sc);
m_clrprotoflags(m);
netisr_queue(isr, m);
/* Packet is done, no further processing needed. */