Page MenuHomeFreeBSD

ixv: Report the programmed VF RSS configuration
ClosedPublic

Authored by kbowling on Tue, Sep 15, 3:03 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Oct 4, 8:51 PM
Unknown Object (File)
Wed, Sep 30, 1:21 PM
Unknown Object (File)
Mon, Sep 28, 8:50 AM
Unknown Object (File)
Mon, Sep 28, 12:55 AM
Unknown Object (File)
Sun, Sep 27, 9:50 PM
Unknown Object (File)
Sun, Sep 27, 8:12 PM
Unknown Object (File)
Sun, Sep 27, 2:30 PM
Unknown Object (File)
Sun, Sep 27, 1:31 PM
Subscribers

Details

Reviewers
gallatin
kgalazka
Group Reviewers
Intel Networking
Restricted Owners Package(Owns No Changed Paths)
Commits
rG32b8381d711c: ixv: Report the programmed VF RSS configuration
Summary
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

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Owners added a reviewer: Restricted Owners Package.Tue, Sep 15, 3:03 AM

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

kbowling edited the summary of this revision. (Show Details)

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

Principally for hn(4) to match the synthetic and VF settings

This revision was not accepted when it landed; it landed in state Needs Review.Fri, Sep 18, 10:41 PM
This revision was automatically updated to reflect the committed changes.