diff options
author | Andrew Gallatin <gallatin@FreeBSD.org> | 2019-04-25 15:37:28 +0000 |
---|---|---|
committer | Andrew Gallatin <gallatin@FreeBSD.org> | 2019-04-25 15:37:28 +0000 |
commit | 50575ce11cbe09fd4d7cfe1e11d8dcca209515b9 (patch) | |
tree | a35afc3b087df08fdfc94eac8bdcbf240251a0b7 /sys/netinet6/ip6_output.c | |
parent | e77f4eb2a08599ca340871961b365b37f4213961 (diff) | |
download | src-50575ce11cbe09fd4d7cfe1e11d8dcca209515b9.tar.gz src-50575ce11cbe09fd4d7cfe1e11d8dcca209515b9.zip |
Track TCP connection's NUMA domain in the inpcb
Drivers can now pass up numa domain information via the
mbuf numa domain field. This information is then used
by TCP syncache_socket() to associate that information
with the inpcb. The domain information is then fed back
into transmitted mbufs in ip{6}_output(). This mechanism
is nearly identical to what is done to track RSS hash values
in the inp_flowid.
Follow on changes will use this information for lacp egress
port selection, binding TCP pacers to the appropriate NUMA
domain, etc.
Reviewed by: markj, kib, slavash, bz, scottl, jtl, tuexen
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D20028
Notes
Notes:
svn path=/head/; revision=346677
Diffstat (limited to 'sys/netinet6/ip6_output.c')
-rw-r--r-- | sys/netinet6/ip6_output.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c index 2161a51e50f1..4ce7f896cbe3 100644 --- a/sys/netinet6/ip6_output.c +++ b/sys/netinet6/ip6_output.c @@ -322,6 +322,9 @@ ip6_output(struct mbuf *m0, struct ip6_pktopts *opt, m->m_pkthdr.flowid = inp->inp_flowid; M_HASHTYPE_SET(m, inp->inp_flowtype); } +#ifdef NUMA + m->m_pkthdr.numa_domain = inp->inp_numa_domain; +#endif } #if defined(IPSEC) || defined(IPSEC_SUPPORT) |