Re: [PATCH net] net: flow_offload: skip hw stats check for FLOW_ACTION_HW_STATS_DISABLED

Jiri Pirko
2020-04-20T08:02:06Z

Sun, Apr 19, 2020 at 01:53:38PM CEST, pablo@netfilter.org wrote:
>If the frontend requests no stats through FLOW_ACTION_HW_STATS_DISABLED,
>drivers that are checking for the hw stats configuration bail out with
>EOPNOTSUPP.

Wait, that was a point. Driver has to support stats disabling.

>
>Fixes: 319a1d19471e ("flow_offload: check for basic action hw stats type")
>Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
>---
> include/net/flow_offload.h | 3 +++
> 1 file changed, 3 insertions(+)
>
>diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h
>index 3619c6acf60f..c2519a25d0bd 100644
>--- a/include/net/flow_offload.h
>+++ b/include/net/flow_offload.h
>@@ -326,6 +326,9 @@ __flow_action_hw_stats_check(const struct flow_action *action,
> if (!flow_action_mixed_hw_stats_check(action, extack))
> return false;
> action_entry = flow_action_first_entry_get(action);
>+ if (action_entry->hw_stats == FLOW_ACTION_HW_STATS_DISABLED)
>+ return true;
>+
> if (!check_allow_bit &&
> action_entry->hw_stats != FLOW_ACTION_HW_STATS_ANY) {
> NL_SET_ERR_MSG_MOD(extack, "Driver supports only default HW stats type \"any\"");
>--
>2.11.0
>