diff options
author | gnn <gnn@FreeBSD.org> | 2016-02-22 19:17:59 +0000 |
---|---|---|
committer | gnn <gnn@FreeBSD.org> | 2016-02-22 19:17:59 +0000 |
commit | b899cad3faf3673f41a3fcf021164dcd7ee19a7e (patch) | |
tree | f9a8b99aaf52d70ede60a1ed0828b9a544796ed1 /sys/net | |
parent | dbe57635db62e228ef86d590679b272da68cd126 (diff) | |
download | FreeBSD-src-b899cad3faf3673f41a3fcf021164dcd7ee19a7e.zip FreeBSD-src-b899cad3faf3673f41a3fcf021164dcd7ee19a7e.tar.gz |
Revert 295285 which was an MFC of the tryforward work (r290383,295282,295283)
In the IPFW+NAT+divergent MTU case there is a bug in sening ICMP MTU updates.
Approved by: re (marius, gjb)
Sponsored by: Rubicon Communications (Netgate)
Diffstat (limited to 'sys/net')
-rw-r--r-- | sys/net/if_arcsubr.c | 4 | ||||
-rw-r--r-- | sys/net/if_ef.c | 2 | ||||
-rw-r--r-- | sys/net/if_ethersubr.c | 2 | ||||
-rw-r--r-- | sys/net/if_fddisubr.c | 2 | ||||
-rw-r--r-- | sys/net/if_fwsubr.c | 2 | ||||
-rw-r--r-- | sys/net/if_iso88025subr.c | 2 |
6 files changed, 14 insertions, 0 deletions
diff --git a/sys/net/if_arcsubr.c b/sys/net/if_arcsubr.c index 1091ae4..2f94785 100644 --- a/sys/net/if_arcsubr.c +++ b/sys/net/if_arcsubr.c @@ -557,11 +557,15 @@ arc_input(struct ifnet *ifp, struct mbuf *m) #ifdef INET case ARCTYPE_IP: m_adj(m, ARC_HDRNEWLEN); + if ((m = ip_fastforward(m)) == NULL) + return; isr = NETISR_IP; break; case ARCTYPE_IP_OLD: m_adj(m, ARC_HDRLEN); + if ((m = ip_fastforward(m)) == NULL) + return; isr = NETISR_IP; break; diff --git a/sys/net/if_ef.c b/sys/net/if_ef.c index 478dfb4..fc6402c 100644 --- a/sys/net/if_ef.c +++ b/sys/net/if_ef.c @@ -240,6 +240,8 @@ ef_inputEII(struct mbuf *m, struct ether_header *eh, u_short ether_type) #endif #ifdef INET case ETHERTYPE_IP: + if ((m = ip_fastforward(m)) == NULL) + return (0); isr = NETISR_IP; break; diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 90ebb56..ea22d33 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -784,6 +784,8 @@ ether_demux(struct ifnet *ifp, struct mbuf *m) switch (ether_type) { #ifdef INET case ETHERTYPE_IP: + if ((m = ip_fastforward(m)) == NULL) + return; isr = NETISR_IP; break; diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c index 271f72c..4f54dcb 100644 --- a/sys/net/if_fddisubr.c +++ b/sys/net/if_fddisubr.c @@ -501,6 +501,8 @@ fddi_input(ifp, m) switch (type) { #ifdef INET case ETHERTYPE_IP: + if ((m = ip_fastforward(m)) == NULL) + return; isr = NETISR_IP; break; diff --git a/sys/net/if_fwsubr.c b/sys/net/if_fwsubr.c index acac423..31fc2a9 100644 --- a/sys/net/if_fwsubr.c +++ b/sys/net/if_fwsubr.c @@ -595,6 +595,8 @@ firewire_input(struct ifnet *ifp, struct mbuf *m, uint16_t src) switch (type) { #ifdef INET case ETHERTYPE_IP: + if ((m = ip_fastforward(m)) == NULL) + return; isr = NETISR_IP; break; diff --git a/sys/net/if_iso88025subr.c b/sys/net/if_iso88025subr.c index f96df4e..5975b28 100644 --- a/sys/net/if_iso88025subr.c +++ b/sys/net/if_iso88025subr.c @@ -579,6 +579,8 @@ iso88025_input(ifp, m) #ifdef INET case ETHERTYPE_IP: th->iso88025_shost[0] &= ~(TR_RII); + if ((m = ip_fastforward(m)) == NULL) + return; isr = NETISR_IP; break; |