@@ -927,14 +927,17 @@ struct ethtool_ops {
int (*create_rxfh_context)(struct net_device *,
struct ethtool_rxfh_context *ctx,
const u32 *indir, const u8 *key,
- const u8 hfunc, u32 rss_context);
+ const u8 hfunc, u32 rss_context,
+ struct netlink_ext_ack *extack);
int (*modify_rxfh_context)(struct net_device *,
struct ethtool_rxfh_context *ctx,
const u32 *indir, const u8 *key,
- const u8 hfunc, u32 rss_context);
+ const u8 hfunc, u32 rss_context,
+ struct netlink_ext_ack *extack);
int (*remove_rxfh_context)(struct net_device *,
struct ethtool_rxfh_context *ctx,
- u32 rss_context);
+ u32 rss_context,
+ struct netlink_ext_ack *extack);
int (*set_rxfh_context)(struct net_device *, const u32 *indir,
const u8 *key, const u8 hfunc,
u32 *rss_context, bool delete);
@@ -10869,7 +10869,8 @@ static void netdev_rss_contexts_free(struct net_device *dev)
idr_remove(&dev->ethtool->rss_ctx, context);
if (dev->ethtool_ops->create_rxfh_context)
- dev->ethtool_ops->remove_rxfh_context(dev, ctx, context);
+ dev->ethtool_ops->remove_rxfh_context(dev, ctx, context,
+ NULL);
else
dev->ethtool_ops->set_rxfh_context(dev, indir, key,
ctx->hfunc,
@@ -1385,14 +1385,17 @@ static noinline_for_stack int ethtool_set_rxfh(struct net_device *dev,
if (create)
ret = ops->create_rxfh_context(dev, ctx, indir,
hkey, rxfh.hfunc,
- rxfh.rss_context);
+ rxfh.rss_context,
+ NULL);
else if (delete)
ret = ops->remove_rxfh_context(dev, ctx,
- rxfh.rss_context);
+ rxfh.rss_context,
+ NULL);
else
ret = ops->modify_rxfh_context(dev, ctx, indir,
hkey, rxfh.hfunc,
- rxfh.rss_context);
+ rxfh.rss_context,
+ NULL);
} else {
ret = ops->set_rxfh_context(dev, indir, hkey,
rxfh.hfunc,