diff options
author | andre <andre@FreeBSD.org> | 2004-09-15 20:13:26 +0000 |
---|---|---|
committer | andre <andre@FreeBSD.org> | 2004-09-15 20:13:26 +0000 |
commit | 5b67b5c1f38fdb1ca745e61e704050eb2767e3be (patch) | |
tree | 8aac23c439beefe50c1b1751c071c1ddee07eb91 /sys/netinet/tcp_syncache.c | |
parent | 375f58b8c16491ec099f2f95a521bc7aebdb0279 (diff) | |
download | FreeBSD-src-5b67b5c1f38fdb1ca745e61e704050eb2767e3be.zip FreeBSD-src-5b67b5c1f38fdb1ca745e61e704050eb2767e3be.tar.gz |
Remove the last two global variables that are used to store packet state while
it travels through the IP stack. This wasn't much of a problem because IP
source routing is disabled by default but when enabled together with SMP and
preemption it would have very likely cross-corrupted the IP options in transit.
The IP source route options of a packet are now stored in a mtag instead of the
global variable.
Diffstat (limited to 'sys/netinet/tcp_syncache.c')
-rw-r--r-- | sys/netinet/tcp_syncache.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 9125235..e648fc9 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -649,7 +649,7 @@ syncache_socket(sc, lso, m) struct in_addr laddr; struct sockaddr_in sin; - inp->inp_options = ip_srcroute(); + inp->inp_options = ip_srcroute(m); if (inp->inp_options == NULL) { inp->inp_options = sc->sc_ipopts; sc->sc_ipopts = NULL; @@ -847,7 +847,7 @@ syncache_add(inc, to, th, sop, m) #ifdef INET6 if (!inc->inc_isipv6) #endif - ipopts = ip_srcroute(); + ipopts = ip_srcroute(m); /* * See if we already have an entry for this connection. |