HomeFreeBSD

ena: Implement full RSS reconfiguration

Description

ena: Implement full RSS reconfiguration

Bind RX/TX queues and MSI-X vectors to matching CPUs based on the RSS
bucket entries.

Introduce sysctls for the following RSS functionality:

  • rss.indir_table: indirection table mapping
  • rss.indir_table_size: indirection table size
  • rss.key: RSS hash key (if Toeplitz used)

Said sysctls are only available when compiled without option RSS, as
kernel-side RSS support currently doesn't offer RSS reconfiguration.

Migrate the hash algorithm from CRC32 to Toeplitz and change the initial
hash value to 0x0 in order to match the standard Toeplitz implementation.
Provide helpers for hash key inversion required for HW operations.

Obtained from: Semihalf
MFC after: 2 weeks
Sponsored by: Amazon, Inc.

Details

Provenance
ar_semihalf.comAuthored on Aug 12 2021, 8:34 AM
mwCommitted on Sep 1 2021, 11:06 PM
Parents
rG223c8cb12e95: ena: Add missing statistics
Branches
Unknown
Tags
Unknown