Page MenuHomeFreeBSD

if_ixv: disable RSS configuration on 82599 and X540 VFs
ClosedPublic

Authored by avg on Sep 18 2019, 12:36 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
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

avg created this revision.Sep 18 2019, 12:36 PM
avg added inline comments.Sep 18 2019, 12:39 PM
sys/dev/ixgbe/ix_txrx.c
549 ↗(On Diff #62267)

By the way, should this be M_HASHTYPE_OPAQUE or M_HASHTYPE_OPAQUE_HASH ?

avg added inline comments.Sep 18 2019, 12:43 PM
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.

avg edited the summary of this revision. (Show Details)Sep 18 2019, 12:45 PM
avg added a comment.Sep 30 2019, 1:21 PM

Any feedback at all?

avg added a comment.Oct 17 2019, 6:23 AM

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

jeb added a subscriber: jeb.Oct 17 2019, 6:05 PM
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).

jeb added inline comments.Oct 17 2019, 8:15 PM
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.

sbruno resigned from this revision.Oct 22 2019, 4:28 PM
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.