nfp: flower: fix ingress police using matchall filter
authorTianyu Yuan <tianyu.yuan@corigine.com>
Thu, 25 Aug 2022 08:08:45 +0000 (10:08 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 27 Aug 2022 02:41:43 +0000 (19:41 -0700)
Referenced commit introduced nfp_policer_validate in the progress
installing rate limiter. This validate check the action id and will
reject police with CONTINUE, which is required to support ingress
police offload.

Fix this issue by allowing FLOW_ACTION_CONTINUE as notexceed action
id in nfp_policer_validate

Fixes: d97b4b105ce7 ("flow_offload: reject offload for all drivers with invalid police parameters")
Signed-off-by: Tianyu Yuan <tianyu.yuan@corigine.com>
Reviewed-by: Baowen Zheng <baowen.zheng@corigine.com>
Reviewed-by: Louis Peens <louis.peens@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/r/20220825080845.507534-1-simon.horman@corigine.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/netronome/nfp/flower/qos_conf.c

index 4e5df9f2c37224378d802e704821434bb83fc89a..7b92026e1a6f809800d36d2d7d119887940ccb65 100644 (file)
@@ -127,10 +127,11 @@ static int nfp_policer_validate(const struct flow_action *action,
                return -EOPNOTSUPP;
        }
 
-       if (act->police.notexceed.act_id != FLOW_ACTION_PIPE &&
+       if (act->police.notexceed.act_id != FLOW_ACTION_CONTINUE &&
+           act->police.notexceed.act_id != FLOW_ACTION_PIPE &&
            act->police.notexceed.act_id != FLOW_ACTION_ACCEPT) {
                NL_SET_ERR_MSG_MOD(extack,
-                                  "Offload not supported when conform action is not pipe or ok");
+                                  "Offload not supported when conform action is not continue, pipe or ok");
                return -EOPNOTSUPP;
        }