diff options
author | Steen Hegelund <steen.hegelund@microchip.com> | 2023-02-14 11:40:49 +0100 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2023-02-16 08:59:49 +0100 |
commit | ebf44ded76e92e0812e0e4a2acd20c7f86550e2c (patch) | |
tree | 268cd50f36189883faf7192c37ea51a352ab22cc /drivers/net/ethernet/microchip/sparx5/sparx5_vcap_impl.c | |
parent | 52b28a93c45d2eb6177f073665ca5e4b2f6a229a (diff) |
net: microchip: sparx5: Add TC vlan action support for the ES0 VCAP
This provides these 3 actions for rule in the ES0 VCAP:
- action vlan pop
- action vlan modify id X priority Y
- action vlan push id X priority Y protocol Z
Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net/ethernet/microchip/sparx5/sparx5_vcap_impl.c')
-rw-r--r-- | drivers/net/ethernet/microchip/sparx5/sparx5_vcap_impl.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_vcap_impl.c b/drivers/net/ethernet/microchip/sparx5/sparx5_vcap_impl.c index 208640627fcd..d0d4e0385ac7 100644 --- a/drivers/net/ethernet/microchip/sparx5/sparx5_vcap_impl.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_vcap_impl.c @@ -852,6 +852,9 @@ static void sparx5_vcap_es0_add_default_fields(struct net_device *ndev, struct sparx5_port *port = netdev_priv(ndev); vcap_rule_add_key_u32(rule, VCAP_KF_IF_EGR_PORT_NO, port->portno, ~0); + /* Match untagged frames if there was no VLAN key */ + vcap_rule_add_key_u32(rule, VCAP_KF_8021Q_TPID, SPX5_TPID_SEL_UNTAGGED, + ~0); } static void sparx5_vcap_es2_add_default_fields(struct net_device *ndev, |