diff options
author | Gal Pressman <gal@nvidia.com> | 2022-11-06 14:31:27 +0200 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2022-11-08 12:08:44 +0100 |
commit | 47f3ecf4763d3fea37d3453c9ee1f9f2169d71b3 (patch) | |
tree | 90403e03187c2518d8543ab37fe045d74109aee4 /net/ethtool/common.h | |
parent | 9a0f830f80265bd1ef816e1541ac24bee80e9a3c (diff) |
ethtool: Fail number of channels change when it conflicts with rxnfc
Similar to what we do with the hash indirection table [1], when network
flow classification rules are forwarding traffic to channels greater
than the requested number of channels, fail the operation.
Without this, traffic could be directed to channels which no longer
exist (dropped) after changing number of channels.
[1] commit d4ab4286276f ("ethtool: correctly ensure {GS}CHANNELS doesn't conflict with GS{RXFH}")
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Gal Pressman <gal@nvidia.com>
Link: https://lore.kernel.org/r/20221106123127.522985-1-gal@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/ethtool/common.h')
-rw-r--r-- | net/ethtool/common.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ethtool/common.h b/net/ethtool/common.h index c1779657e074..b1b9db810eca 100644 --- a/net/ethtool/common.h +++ b/net/ethtool/common.h @@ -43,6 +43,7 @@ bool convert_legacy_settings_to_link_ksettings( struct ethtool_link_ksettings *link_ksettings, const struct ethtool_cmd *legacy_settings); int ethtool_get_max_rxfh_channel(struct net_device *dev, u32 *max); +int ethtool_get_max_rxnfc_channel(struct net_device *dev, u64 *max); int __ethtool_get_ts_info(struct net_device *dev, struct ethtool_ts_info *info); extern const struct ethtool_phy_ops *ethtool_phy_ops; |