summaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_syncache.c
diff options
context:
space:
mode:
authorJulian Elischer <julian@FreeBSD.org>2008-05-09 23:03:00 +0000
committerJulian Elischer <julian@FreeBSD.org>2008-05-09 23:03:00 +0000
commit8b07e49a008c89a15e1fc4a1e3db6d945f81fab4 (patch)
tree1bc85679564ad62b5790f35580ebdcc21ca90f8b /sys/netinet/tcp_syncache.c
parenta15370c6aa962e0030c1ae024292d76c112d6ea2 (diff)
Notes
Diffstat (limited to 'sys/netinet/tcp_syncache.c')
-rw-r--r--sys/netinet/tcp_syncache.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c
index d5694f312b0d..e19f0956fad7 100644
--- a/sys/netinet/tcp_syncache.c
+++ b/sys/netinet/tcp_syncache.c
@@ -671,6 +671,8 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m)
#endif
inp = sotoinpcb(so);
+ inp->inp_inc.inc_fibnum = sc->sc_inc.inc_fibnum;
+ so->so_fibnum = sc->sc_inc.inc_fibnum;
INP_WLOCK(inp);
/* Insert new socket into PCB hash list. */
@@ -941,6 +943,7 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
else
tcpstat.tcps_sc_completed++;
+/* how do we find the inp for the new socket? */
if (sc != &scs)
syncache_free(sc);
return (1);
@@ -1127,6 +1130,7 @@ _syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
sc->sc_label = maclabel;
#endif
sc->sc_ipopts = ipopts;
+ sc->sc_inc.inc_fibnum = inp->inp_inc.inc_fibnum;
bcopy(inc, &sc->sc_inc, sizeof(struct in_conninfo));
#ifdef INET6
if (!inc->inc_isipv6)