Lines Matching full:rss
51 * Operating system parts of receiver-side scaling (RSS), which allows
53 * of header tuples. This implementation aligns RSS buckets with connection
58 * Network device drivers needing to configure RSS will query this framework
59 * for parameters, such as the current RSS key, hashing policies, number of
63 * into the stack on as close to the right CPU as possible, if playing by RSS
69 * - Event handler drivers can register to pick up RSS configuration changes.
82 SYSCTL_NODE(_net_inet, OID_AUTO, rss, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
86 * Toeplitz is the only required hash function in the RSS spec, so use it by
91 "RSS hash algorithm");
93 #ifdef RSS
95 * Size of the indirection table; at most 128 entries per the RSS spec. We
104 "RSS bits");
108 "RSS mask");
112 __DECONST(int *, &rss_maxbits), 0, "RSS maximum bits");
115 * RSS's own count of the number of CPUs it could be using for processing.
116 * Bounded to 64 by RSS constants.
120 "Number of CPUs available to RSS");
125 __DECONST(int *, &rss_maxcpus), 0, "RSS maximum CPUs that can be used");
132 "RSS buckets");
136 * RSS indirection table. Currently unmodifable in FreeBSD.
140 __DECONST(int *, &rss_basecpu), 0, "RSS base CPU");
150 "RSS debug level");
153 * RSS secret key, intended to prevent attacks on load-balancing. Its
159 * This is the default Microsoft RSS specification key which is also
170 #ifdef RSS
172 * RSS hash->CPU table, which maps hashed packet headers to particular CPUs.
185 #ifdef RSS in rss_init()
198 RSS_DEBUG("invalid RSS hashalgo %u, coercing to %u\n", in rss_init()
203 #ifdef RSS in rss_init()
220 * Tune RSS table entries to be no less than 2x the number of CPUs in rss_init()
229 * Microsoft limits RSS table entries to 128, so apply that in rss_init()
234 RSS_DEBUG("RSS bits %u not valid, coercing to %u\n", in rss_init()
263 #endif /* RSS */ in rss_init()
268 * loop to check for "bad" RSS keys. in rss_init()
308 * Query the current RSS key; likely to be used by device drivers when
309 * configuring hardware RSS. Caller must pass an array of size RSS_KEYSIZE.
321 * Query the RSS hash algorithm.
330 #ifdef RSS
332 * Query the number of RSS bits in use.
342 * Query the RSS bucket associated with an RSS hash.
352 * Query the RSS layer bucket associated with the given
353 * entry in the RSS hash space.
355 * The RSS indirection table is 0 .. rss_buckets-1,
357 * RSS indirection table. So just mask off rss_bits and
360 * NIC drivers can then iterate over the 128 slot RSS
361 * indirection table and fetch which RSS bucket to
372 * Query the RSS CPU associated with an RSS bucket.
402 * Query the RSS bucket associated with the given hash value and
459 * Query the number of CPUs in use by RSS; may be useful to device drivers
472 * Return the supported RSS hash configuration.
532 "", "RSS keying material");
534 #ifdef RSS
561 sysctl_rss_bucket_mapping, "", "RSS bucket -> CPU mapping");