From 5b67b5c1f38fdb1ca745e61e704050eb2767e3be Mon Sep 17 00:00:00 2001 From: andre Date: Wed, 15 Sep 2004 20:13:26 +0000 Subject: 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. --- sys/netinet/tcp_syncache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/netinet/tcp_syncache.c') 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. -- cgit v1.1