Page MenuHomeFreeBSD

qlnx: Report the programmed RSS key and hash types
ClosedPublic

Authored by kbowling on Fri, Sep 18, 11:06 AM.
Tags
None
Referenced Files
F172532999: D59810.id187081.diff
Sat, Sep 19, 2:21 AM
F172492742: D59810.diff
Fri, Sep 18, 8:25 PM
F172488175: D59810.diff
Fri, Sep 18, 7:46 PM
F172483509: D59810.id.diff
Fri, Sep 18, 7:04 PM
F172447954: D59810.id187081.diff
Fri, Sep 18, 1:15 PM
F172447906: D59810.diff
Fri, Sep 18, 1:14 PM
Subscribers

Details

Summary

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

Implement SIOCGIFRSSKEY and SIOCGIFRSSHASH for qlnxe and qlnxev using
the cached vport RSS configuration.  This lets hn synchronize its
synthetic RSS configuration with the VF without assuming that every
driver programs all of the common RSS hash selections.

Serialize the queries with the device lock and reject them while the
interface is not running.  Convert the firmware request's key words back
into network byte order and translate the six representable IPv4/IPv6
TCP/UDP hash selections.  Report no hashing when RSS is disabled, including
the driver's single-queue configuration.

For VFs, require a successful RSS extension response from every hardware
function.  The overall vport-update reply can succeed while its RSS TLV
is missing or rejected; recording that result prevents reporting an
unconfirmed configuration.  Invalidate the confirmation before each RSS
request.  Leave existing vport-update return semantics, queue setup, and
the receive datapath unchanged.

MFC after:      2 weeks
Sponsored by:   BBOX.io

Diff Detail

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