freebsd-dev/sys/dev/sfxge
Andrew Rybchenko fcfb73b86d sfxge(4): honour packed stream RSS restriction
Packed stream firmware variant on EF10 adapters has a
number of properties which must be taken into account:

 - Only one exclusive RSS context is available per port.
 - Only IP addresses can contribute to the hash value.

Huntington and Medford have one more limitation which
is important for the drivers capable of packed stream:

 - Hash algorithm is non-standard (i.e. non-Toeplitz).
   This implies XORing together source + destination
   IP addresses (or last four bytes in the case of IPv6)
   and using the result as the input to a Toeplitz hash.

This patch provides a number of improvements in order
to treat the mentioned limitations in the common code.

If the firmware variant is packed stream, the list of
supported hash tuples will include less variants, and
the maximum number of RSS contexts will be set to one.

Submitted by:   Ivan Malov <ivan.malov at oktetlabs.ru>
Sponsored by:   Solarflare Communications, Inc.
Differential Revision:  https://reviews.freebsd.org/D18232
2018-11-29 06:44:51 +00:00
..
common sfxge(4): honour packed stream RSS restriction 2018-11-29 06:44:51 +00:00
sfxge_dma.c sfxge(4): add efsys macro to get memory region size 2018-11-27 13:00:39 +00:00
sfxge_ev.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
sfxge_intr.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
sfxge_ioc.h
sfxge_mcdi.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
sfxge_nvram.c sfxge(4): extend NVRAM RW finish to return verify result 2018-11-23 10:20:32 +00:00
sfxge_port.c sfxge(4): remove MAC stats size define 2018-11-27 14:16:14 +00:00
sfxge_rx.c sfxge(4): control RxQ scatter using flag instead of type 2018-11-24 18:13:07 +00:00
sfxge_rx.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
sfxge_tx.c sfxge(4): add outer IP ID parameter to TSOv2 descriptor 2018-11-28 09:25:43 +00:00
sfxge_tx.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
sfxge_version.h
sfxge.c sfxge(4): support choosing firmware variant 2018-11-29 06:43:00 +00:00
sfxge.h sfxge(4): report memory BAR number 2018-11-27 12:59:43 +00:00