diff options
| author | Kevin Bowling <kbowling@FreeBSD.org> | 2026-09-16 23:34:27 +0000 |
|---|---|---|
| committer | Kevin Bowling <kbowling@FreeBSD.org> | 2026-09-17 00:20:23 +0000 |
| commit | f908fbb9b2671cbc6cf366c8287899940e3c88b5 (patch) | |
| tree | 65c11fde0e08baf4aa226a28c90f719cb221784c /tools/test | |
| parent | f74d7fc4131d6aca081d10e92e7bc19584a20d77 (diff) | |
Use the key and lookup table lengths returned by GET_VF_RESOURCES when
configuring RSS through virtchnl, as DPDK does. The Windows E835 PF
advertises a 40-byte key and rejects our fixed 52-byte CONFIG_RSS_KEY
request, leaving receive traffic on queue zero.
Validate the negotiated lengths before constructing AdminQ messages and
publish the lookup table size to iflib. Preserve register-mode RSS
selection and its fixed hardware sizes. Use aligned, zero initialized
key storage so an RSS kernel's 40-byte key does not leave an uninitialized
tail when the PF requests 52 bytes.
Validation: normal and RSS enabled iavf module builds passed. On an E835
VF under Hyper-V Server 2025, repeated IPv4 and IPv6 receive tests used all
three configured guest RX queues in both transparent hn and non-transparent
lagg modes. The RSS key rejection disappeared, IPv4 transmit tests passed,
and no TX watchdog fired. Each traffic case used three runs of 16 streams.
Obtained from: DPDK (negotiated RSS sizing)
MFC after: 2 weeks
Sponsored by: BBOX.io
Diffstat (limited to 'tools/test')
0 files changed, 0 insertions, 0 deletions
