net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP
Currently, we support hardware offload only for MPLS over UDP. However, rules matching on MPLS parameters are now wrongly offloaded for regular MPLS, without actually taking the parameters into consideration when doing the offload. Fix it by rejecting such unsupported rules. Fixes: 72046a91d134 ("net/mlx5e: Allow to match on mpls parameters") Signed-off-by: Alaa Hleihel <alaa@nvidia.com> Reviewed-by: Roi Dayan <roid@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
a07231084d
commit
7d6c86e3cc
@ -2296,6 +2296,16 @@ static int __parse_cls_flower(struct mlx5e_priv *priv,
|
||||
*match_level = MLX5_MATCH_L4;
|
||||
}
|
||||
|
||||
/* Currenlty supported only for MPLS over UDP */
|
||||
if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_MPLS) &&
|
||||
!netif_is_bareudp(filter_dev)) {
|
||||
NL_SET_ERR_MSG_MOD(extack,
|
||||
"Matching on MPLS is supported only for MPLS over UDP");
|
||||
netdev_err(priv->netdev,
|
||||
"Matching on MPLS is supported only for MPLS over UDP\n");
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user