OSDN Git Service

net: microchip: sparx5: Improve the IP frame key match for IPv6 frames
authorSteen Hegelund <steen.hegelund@microchip.com>
Fri, 27 Jan 2023 13:08:24 +0000 (14:08 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 30 Jan 2023 07:36:22 +0000 (07:36 +0000)
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 <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c

index 59d6ed6..8982c43 100644 (file)
@@ -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;
+                       }
+
                }
        }