diff options
author | mlaier <mlaier@FreeBSD.org> | 2004-02-13 19:14:16 +0000 |
---|---|---|
committer | mlaier <mlaier@FreeBSD.org> | 2004-02-13 19:14:16 +0000 |
commit | da4d773b129fb1339d7b5fc23b93388b18952d3b (patch) | |
tree | 75fdee3c73dd1369e60e6348343749bdf159313a /sys/netinet/tcp_input.c | |
parent | 09ad0862e6acad72dd0217846a1c16d5bea5c454 (diff) | |
download | FreeBSD-src-da4d773b129fb1339d7b5fc23b93388b18952d3b.zip FreeBSD-src-da4d773b129fb1339d7b5fc23b93388b18952d3b.tar.gz |
This set of changes eliminates the use of MT_TAG "pseudo mbufs", replacing
them mostly with packet tags (one case is handled by using an mbuf flag
since the linkage between "caller" and "callee" is direct and there's no
need to incur the overhead of a packet tag).
This is (mostly) work from: sam
Silence from: -arch
Approved by: bms(mentor), sam, rwatson
Diffstat (limited to 'sys/netinet/tcp_input.c')
-rw-r--r-- | sys/netinet/tcp_input.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 17011ca..a868f80 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.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 = NULL; + struct sockaddr_in *next_hop; int rstreason; /* For badport_bandlim accounting purposes */ struct ip6_hdr *ip6 = NULL; @@ -380,11 +380,7 @@ tcp_input(m, off0) short ostate = 0; #endif - /* 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; - } + next_hop = ip_claim_next_hop(m); #ifdef INET6 isipv6 = (mtod(m, struct ip *)->ip_v == 6) ? 1 : 0; #endif |