aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_syncache.c
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2014-01-18 23:48:20 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2014-01-18 23:48:20 +0000
commit9db69902c6efff5769afc5fb0d8385089d3e1293 (patch)
tree7661ed08767b2bf2d1eac7f4916dece486d4b596 /sys/netinet/tcp_syncache.c
parent95fbe4d0cc69cc219ddd4b3c468faf7e746fcddd (diff)
Notes
Diffstat (limited to 'sys/netinet/tcp_syncache.c')
-rw-r--r--sys/netinet/tcp_syncache.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c
index 29d9d5310124..af30ad14e847 100644
--- a/sys/netinet/tcp_syncache.c
+++ b/sys/netinet/tcp_syncache.c
@@ -722,6 +722,16 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m)
#endif
/*
+ * If there's an mbuf and it has a flowid, then let's initialise the
+ * inp with that particular flowid.
+ */
+ if (m != NULL && m->m_flags & M_FLOWID) {
+ inp->inp_flags |= INP_HW_FLOWID;
+ inp->inp_flags &= ~INP_SW_FLOWID;
+ inp->inp_flowid = m->m_pkthdr.flowid;
+ }
+
+ /*
* Install in the reservation hash table for now, but don't yet
* install a connection group since the full 4-tuple isn't yet
* configured.