flow_offload: check for basic action hw stats type
Introduce flow_action_basic_hw_stats_types_check() helper and use it in drivers. That sanitizes the drivers which do not have support for action HW stats types. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
1ee473306a
commit
319a1d1947
@@ -279,7 +279,8 @@ bnxt_tc_parse_pedit(struct bnxt *bp, struct bnxt_tc_actions *actions,
|
||||
|
||||
static int bnxt_tc_parse_actions(struct bnxt *bp,
|
||||
struct bnxt_tc_actions *actions,
|
||||
struct flow_action *flow_action)
|
||||
struct flow_action *flow_action,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
/* Used to store the L2 rewrite mask for dmac (6 bytes) followed by
|
||||
* smac (6 bytes) if rewrite of both is specified, otherwise either
|
||||
@@ -299,6 +300,9 @@ static int bnxt_tc_parse_actions(struct bnxt *bp,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!flow_action_basic_hw_stats_types_check(flow_action, extack))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
flow_action_for_each(i, act, flow_action) {
|
||||
switch (act->id) {
|
||||
case FLOW_ACTION_DROP:
|
||||
@@ -491,7 +495,8 @@ static int bnxt_tc_parse_flow(struct bnxt *bp,
|
||||
flow->tun_mask.tp_src = match.mask->src;
|
||||
}
|
||||
|
||||
return bnxt_tc_parse_actions(bp, &flow->actions, &rule->action);
|
||||
return bnxt_tc_parse_actions(bp, &flow->actions, &rule->action,
|
||||
tc_flow_cmd->common.extack);
|
||||
}
|
||||
|
||||
static int bnxt_hwrm_cfa_flow_free(struct bnxt *bp,
|
||||
|
Reference in New Issue
Block a user