Lines Matching refs:rss_context
10 u32 rss_context; member
75 request->rss_context = nla_get_u32(tb[ETHTOOL_A_RSS_CONTEXT]); in rss_parse_request()
94 if (req->rss_context && !dev->ethtool_ops->rxfh_per_ctx_fields) in rss_prepare_flow_hash()
101 .rss_context = req->rss_context, in rss_prepare_flow_hash()
211 ctx = xa_load(&dev->ethtool->rss_ctx, request->rss_context); in rss_prepare_ctx()
250 if (request->rss_context) in rss_prepare()
270 if (request->rss_context && !ops->create_rxfh_context) in rss_prepare_data()
302 if (request->rss_context && in rss_fill_reply()
303 nla_put_u32(skb, ETHTOOL_A_RSS_CONTEXT, request->rss_context)) in rss_fill_reply()
399 struct net_device *dev, u32 rss_context) in rss_dump_one_ctx() argument
407 req.rss_context = rss_context; in rss_dump_one_ctx()
489 static void ethnl_rss_delete_notify(struct net_device *dev, u32 rss_context) in ethnl_rss_delete_notify() argument
507 nla_put_u32(ntf, ETHTOOL_A_RSS_CONTEXT, rss_context)) in ethnl_rss_delete_notify()
522 void ethtool_rss_notify(struct net_device *dev, u32 type, u32 rss_context) in ethtool_rss_notify() argument
525 .rss_context = rss_context, in ethtool_rss_notify()
529 ethnl_rss_delete_notify(dev, rss_context); in ethtool_rss_notify()
590 if (request->rss_context && !ops->create_rxfh_context) in ethnl_rss_set_validate()
593 if (request->rss_context && !ops->rxfh_per_ctx_key) { in ethnl_rss_set_validate()
605 if (request->rss_context && in ethnl_rss_set_validate()
646 if (rxfh->rss_context) { in rss_set_prep_indir()
751 u32 rss_context, struct rss_reply_data *data, in ethnl_set_rss_fields() argument
776 .rss_context = rss_context, in ethnl_set_rss_fields()
845 rxfh.rss_context = request->rss_context; in ethnl_rss_set()
867 if (!request->rss_context || ops->rxfh_per_ctx_key) in ethnl_rss_set()
873 if (request->rss_context) { in ethnl_rss_set()
874 ctx = xa_load(&dev->ethtool->rss_ctx, request->rss_context); in ethnl_rss_set()
881 ret = ethnl_set_rss_fields(dev, info, request->rss_context, in ethnl_rss_set()
890 else if (!rxfh.rss_context) in ethnl_rss_set()
951 u32 rss_context, input_xfrm; in ethnl_rss_create_validate() local
956 rss_context = nla_get_u32_default(tb[ETHTOOL_A_RSS_CONTEXT], 0); in ethnl_rss_create_validate()
958 ops->rxfh_max_num_contexts <= rss_context) { in ethnl_rss_create_validate()
1025 req.rss_context = nla_get_u32_default(tb[ETHTOOL_A_RSS_CONTEXT], 0); in ethnl_rss_create_doit()
1062 if (!req.rss_context) { in ethnl_rss_create_doit()
1064 ret = xa_alloc(&dev->ethtool->rss_ctx, &req.rss_context, ctx, in ethnl_rss_create_doit()
1068 req.rss_context, ctx, GFP_KERNEL_ACCOUNT); in ethnl_rss_create_doit()
1075 rxfh.rss_context = req.rss_context; in ethnl_rss_create_doit()
1130 xa_erase(&dev->ethtool->rss_ctx, req.rss_context); in ethnl_rss_create_doit()
1150 u32 rss_context; in ethnl_rss_delete_doit() local
1155 rss_context = nla_get_u32(tb[ETHTOOL_A_RSS_CONTEXT]); in ethnl_rss_delete_doit()
1177 ret = ethtool_check_rss_ctx_busy(dev, rss_context); in ethnl_rss_delete_doit()
1181 ctx = xa_load(&dev->ethtool->rss_ctx, rss_context); in ethnl_rss_delete_doit()
1187 ret = ops->remove_rxfh_context(dev, ctx, rss_context, info->extack); in ethnl_rss_delete_doit()
1191 WARN_ON(xa_erase(&dev->ethtool->rss_ctx, rss_context) != ctx); in ethnl_rss_delete_doit()
1194 ethnl_rss_delete_notify(dev, rss_context); in ethnl_rss_delete_doit()