The 05/03/2019 16:08, Edward Cree wrote:
> Plumb it through from the flow_dissector.
> 
> Signed-off-by: Edward Cree <ec...@solarflare.com>
> ---
>  include/net/flow_offload.h | 2 ++
>  net/core/flow_offload.c    | 7 +++++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h
> index 6f59cdaf6eb6..48847ee7aa3a 100644
> --- a/include/net/flow_offload.h
> +++ b/include/net/flow_offload.h
> @@ -71,6 +71,8 @@ void flow_rule_match_eth_addrs(const struct flow_rule *rule,
>                              struct flow_match_eth_addrs *out);
>  void flow_rule_match_vlan(const struct flow_rule *rule,
>                         struct flow_match_vlan *out);
> +void flow_rule_match_cvlan(const struct flow_rule *rule,
> +                        struct flow_match_vlan *out);
>  void flow_rule_match_ipv4_addrs(const struct flow_rule *rule,
>                               struct flow_match_ipv4_addrs *out);
>  void flow_rule_match_ipv6_addrs(const struct flow_rule *rule,
> diff --git a/net/core/flow_offload.c b/net/core/flow_offload.c
> index c3a00eac4804..5ce7d47a960e 100644
> --- a/net/core/flow_offload.c
> +++ b/net/core/flow_offload.c
> @@ -54,6 +54,13 @@ void flow_rule_match_vlan(const struct flow_rule *rule,
>  }
>  EXPORT_SYMBOL(flow_rule_match_vlan);
>  
> +void flow_rule_match_cvlan(const struct flow_rule *rule,
> +                        struct flow_match_vlan *out)
> +{
> +     FLOW_DISSECTOR_MATCH(rule, FLOW_DISSECTOR_KEY_CVLAN, out);
> +}
> +EXPORT_SYMBOL(flow_rule_match_cvlan);
> +
>  void flow_rule_match_ipv4_addrs(const struct flow_rule *rule,
>                               struct flow_match_ipv4_addrs *out)
>  {

Could you please push to 5.1 and 5.0-stable? The original patch brought a bug
in mlx5_core driver. Need your patch to fix.

--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
@@ -1615,7 +1615,7 @@ static int __parse_cls_flower(struct mlx5e_priv *priv,
        if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CVLAN)) {
                struct flow_match_vlan match;

-               flow_rule_match_vlan(rule, &match);
+               flow_rule_match_cvlan(rule, &match);
                if (match.mask->vlan_id ||
                    match.mask->vlan_priority ||
                    match.mask->vlan_tpid) {

Thanks!

Reply via email to