Provide the iflib RSS query methods for X550 and newer VFs, whose RSS key and hash types are programmed by the VF. Cache those values and answer queries under the context lock, without register reads or mailbox transactions. Invalidate the snapshot at init, stop, and when an admin check requests recovery after losing the PF mailbox or detecting reset. Reject queries while the snapshot or mailbox is unavailable. Program the common RSS key and cache the values written to the registers. The key remains stable across resets, including live MTU and capability changes for which hn can retain its copy without another VF handoff. Serialize the key in register byte order and report the six supported IPv4/IPv6 TCP/UDP hash selections from the programmed MRQC, rather than claiming that every globally requested hash type is enabled. A single receive queue still performs Toeplitz hashing. Older VFs retain EOPNOTSUPP because their PF-owned RSS settings are not available here. This allows hn to synchronize synthetic RSS with the actual VF settings instead of suppressing otherwise usable receive hash metadata. MFC after: 2 weeks Sponsored by: BBOX.io
Details
Details
- Reviewers
gallatin kgalazka - Group Reviewers
Intel Networking Restricted Owners Package (Owns No Changed Paths) - Commits
- rG32b8381d711c: ixv: Report the programmed VF RSS configuration
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Why is this needed? All NICs should be using the same rss key these days and that's available via the sysctls in sys/net/rss_config.c