Page MenuHomeFreeBSD

if_ixv: disable RSS configuration on 82599 and X540 VFs
ClosedPublic

Authored by avg on Sep 18 2019, 12:36 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Nov 5, 1:39 PM
Unknown Object (File)
Oct 4 2024, 11:27 AM
Unknown Object (File)
Oct 4 2024, 7:25 AM
Unknown Object (File)
Oct 4 2024, 3:46 AM
Unknown Object (File)
Oct 1 2024, 7:01 PM
Unknown Object (File)
Sep 30 2024, 1:05 AM
Unknown Object (File)
Sep 29 2024, 12:21 AM
Unknown Object (File)
Sep 27 2024, 6:33 PM

Details

Summary

It is reported that those VFs share their RSS configuration with PF and,
thus, they cannot be configured independently.

Also:

  • add missing opt_rss.h to if_ixv.c, otherwise RSS kernel option could not be seen
  • do not enable IXGBE_FEATURE_RSS on the older VFs
  • set flowid / hash type to M_HASHTYPE_NONE or M_HASHTYPE_OPAQUE_HASH (based on what the hardware reports) if IXGBE_FEATURE_RSS is not set

Sponsored by: Panzura

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/dev/ixgbe/ix_txrx.c
549 ↗(On Diff #62267)

By the way, should this be M_HASHTYPE_OPAQUE or M_HASHTYPE_OPAQUE_HASH ?

sys/dev/ixgbe/ix_txrx.c
549 ↗(On Diff #62267)

I think that sephe once did M_HASHTYPE_OPAQUE ==> M_HASHTYPE_OPAQUE_HASH (rS301538), but that got reverted during the convertion to iflib in rS327031.

So, no hard feelings if I commit this?
I will try to handle any fallout if it happens.

jeb added inline comments.
sys/dev/ixgbe/if_ixv.c
1462 ↗(On Diff #62267)

Why wouldn't the guard be feat_en & ICE_FEATURE_RSS?

jacob.e.keller_intel.com added inline comments.
sys/dev/ixgbe/if_ixv.c
1462 ↗(On Diff #62267)

Doex ixgbe have feature flags for this? (seeing as this isn't the ice driver).

sys/dev/ixgbe/if_ixv.c
1462 ↗(On Diff #62267)

Sorry, not ICE, but rather IXGBE_FEATURE_RSS.

avg marked 3 inline comments as done.Oct 22 2019, 10:18 AM
avg added inline comments.
sys/dev/ixgbe/if_ixv.c
1462 ↗(On Diff #62267)

IXGBE_FEATURE_RSS is defined to zero if RSS is not enabled in the kernel configuration, see ixgbe_features.h.
So, in that case ixv_initialize_rss_mapping() would not be called at all if I used feat_cap & IXGBE_FEATURE_RSS check.
But I think that we still want to call ixv_initialize_rss_mapping() to setup the "hardware RSS" -- the interrupt / packet distribution -- even if the "software RSS" is not enabled in the network stack.

This revision was not accepted when it landed; it landed in state Needs Review.Nov 5 2019, 6:34 AM
This revision was automatically updated to reflect the committed changes.
avg marked an inline comment as done.