summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_syncache.c
diff options
context:
space:
mode:
authorandre <andre@FreeBSD.org>2004-09-15 20:13:26 +0000
committerandre <andre@FreeBSD.org>2004-09-15 20:13:26 +0000
commit5b67b5c1f38fdb1ca745e61e704050eb2767e3be (patch)
tree8aac23c439beefe50c1b1751c071c1ddee07eb91 /sys/netinet/tcp_syncache.c
parent375f58b8c16491ec099f2f95a521bc7aebdb0279 (diff)
downloadFreeBSD-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.c4
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.
OpenPOWER on IntegriCloud