summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_reass.c
diff options
context:
space:
mode:
authormlaier <mlaier@FreeBSD.org>2004-02-18 00:04:52 +0000
committermlaier <mlaier@FreeBSD.org>2004-02-18 00:04:52 +0000
commit60723c32606f318dd3816d81ba433654f812312b (patch)
tree8161989612a5d1dd2b4c63580a9c95cb85146c14 /sys/netinet/tcp_reass.c
parent9a383d1448d0eecb2082f01c9fa00232399e77a0 (diff)
downloadFreeBSD-src-60723c32606f318dd3816d81ba433654f812312b.zip
FreeBSD-src-60723c32606f318dd3816d81ba433654f812312b.tar.gz
Backout MT_TAG removal (i.e. bring back MT_TAGs) for now, as dummynet is
not working properly with the patch in place. Approved by: bms(mentor)
Diffstat (limited to 'sys/netinet/tcp_reass.c')
-rw-r--r--sys/netinet/tcp_reass.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/netinet/tcp_reass.c b/sys/netinet/tcp_reass.c
index 01033ff..39d2dc1 100644
--- a/sys/netinet/tcp_reass.c
+++ b/sys/netinet/tcp_reass.c
@@ -360,7 +360,7 @@ tcp_input(m, off0)
struct tcpopt to; /* options in this segment */
struct rmxp_tao tao; /* our TAO cache entry */
int headlocked = 0;
- struct sockaddr_in *next_hop;
+ struct sockaddr_in *next_hop = NULL;
int rstreason; /* For badport_bandlim accounting purposes */
struct ip6_hdr *ip6 = NULL;
@@ -380,7 +380,11 @@ tcp_input(m, off0)
short ostate = 0;
#endif
- next_hop = ip_claim_next_hop(m);
+ /* Grab info from MT_TAG mbufs prepended to the chain. */
+ for (;m && m->m_type == MT_TAG; m = m->m_next) {
+ if (m->_m_tag_id == PACKET_TAG_IPFORWARD)
+ next_hop = (struct sockaddr_in *)m->m_hdr.mh_data;
+ }
#ifdef INET6
isipv6 = (mtod(m, struct ip *)->ip_v == 6) ? 1 : 0;
#endif
OpenPOWER on IntegriCloud