summaryrefslogtreecommitdiffstats
path: root/sys/net
diff options
context:
space:
mode:
authorgnn <gnn@FreeBSD.org>2016-02-22 19:17:59 +0000
committergnn <gnn@FreeBSD.org>2016-02-22 19:17:59 +0000
commitb899cad3faf3673f41a3fcf021164dcd7ee19a7e (patch)
treef9a8b99aaf52d70ede60a1ed0828b9a544796ed1 /sys/net
parentdbe57635db62e228ef86d590679b272da68cd126 (diff)
downloadFreeBSD-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.c4
-rw-r--r--sys/net/if_ef.c2
-rw-r--r--sys/net/if_ethersubr.c2
-rw-r--r--sys/net/if_fddisubr.c2
-rw-r--r--sys/net/if_fwsubr.c2
-rw-r--r--sys/net/if_iso88025subr.c2
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;
OpenPOWER on IntegriCloud