This patchset implements ethtool -X to setup user-defined RSS indirection table. The new infrastructure also allows the proper logical ring index to be used to populate the RSS indirection when queried by ethtool -x. Prior to these patches, we were incorrectly populating the output of ethtool -x with internal ring IDs which would make no sense to the user.
The last 2 patches add some cleanups to the VLAN acceleration logic and check the firmware capabilities before allowing VLAN acceleration offloads. v2: Some RSS indirection table changes requested by Jakub Kicinski. Edwin Peer (2): bnxt_en: clean up VLAN feature bit handling bnxt_en: allow firmware to disable VLAN offloads Michael Chan (6): bnxt_en: Set up the chip specific RSS table size. bnxt_en: Add logical RSS indirection table structure. bnxt_en: Add helper function to return the number of RSS contexts. bnxt_en: Fill HW RSS table from the RSS logical indirection table. bnxt_en: Return correct RSS indirection table entries to ethtool -x. bnxt_en: Implement ethtool -X to set indirection table. drivers/net/ethernet/broadcom/bnxt/bnxt.c | 221 +++++++++++++++------- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 20 ++ drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 52 ++++- 3 files changed, 225 insertions(+), 68 deletions(-) -- 1.8.3.1