]> git.baikalelectronics.ru Git - kernel.git/commit
bnxt_en: Implement ethtool -X to set indirection table.
authorMichael Chan <michael.chan@broadcom.com>
Wed, 8 Jul 2020 11:53:59 +0000 (07:53 -0400)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Jul 2020 22:21:13 +0000 (15:21 -0700)
commitd61b49c6476113eeebc6552f57c9d9d10553fad5
treeaa4e2914412eefcba079024af1a8669ab6121a70
parentfb99d220503d9212226d67ee3ce5c2fd5378a220
bnxt_en: Implement ethtool -X to set indirection table.

With the new infrastructure in place, we can now support the setting of
the indirection table from ethtool.

When changing channels, in a rare case that firmware cannot reserve the
rings that were promised, we will still try to keep the RSS map and only
revert to default when absolutely necessary.

v4: Revert RSS map to default during ring change only when absolutely
    necessary.

v3: Add warning messages when firmware cannot reserve the requested RX
    rings, and when the RSS table entries have to change to default.

v2: When changing channels, if the RSS table size changes and RSS map
    is non-default, return error.

Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c