aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteen Hegelund <[email protected]>2023-01-27 14:08:24 +0100
committerDavid S. Miller <[email protected]>2023-01-30 07:36:22 +0000
commit4114ef2ce27383e3c14f68f56f3ec731ab6421a2 (patch)
treedb50869703d5d93ee96b1f12dfa7f587a14d237c
parentc02b19edc78dceef9508e6db9ef45a5f7a0d257b (diff)
net: microchip: sparx5: Improve the IP frame key match for IPv6 frames
This ensures that it will be possible for a VCAP rule to distinguish IPv6 frames from non-IP frames, as the IS0 keyset usually selected for the IPv6 traffic class in (7TUPLE) does not offer a key that specifies IPv6 directly: only non-IPv4. The IP_SNAP key ensures that we select (at least) IP frames. Signed-off-by: Steen Hegelund <[email protected]> Signed-off-by: David S. Miller <[email protected]>
-rw-r--r--drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c b/drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c
index 59d6ed6f4191..8982c434cf54 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c
@@ -266,6 +266,14 @@ sparx5_tc_flower_handler_basic_usage(struct sparx5_tc_flower_parse_usage *st)
VCAP_BIT_0);
if (err)
goto out;
+ if (st->admin->vtype == VCAP_TYPE_IS0) {
+ err = vcap_rule_add_key_bit(st->vrule,
+ VCAP_KF_IP_SNAP_IS,
+ VCAP_BIT_1);
+ if (err)
+ goto out;
+ }
+
}
}