diff options
author | Steen Hegelund <steen.hegelund@microchip.com> | 2023-02-14 13:40:49 +0300 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2023-02-16 10:59:49 +0300 |
commit | ebf44ded76e92e0812e0e4a2acd20c7f86550e2c (patch) | |
tree | 268cd50f36189883faf7192c37ea51a352ab22cc /drivers/net/ethernet/microchip/vcap | |
parent | 52b28a93c45d2eb6177f073665ca5e4b2f6a229a (diff) | |
download | linux-ebf44ded76e92e0812e0e4a2acd20c7f86550e2c.tar.xz |
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/vcap')
-rw-r--r-- | drivers/net/ethernet/microchip/vcap/vcap_tc.c | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/microchip/vcap/vcap_tc.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/microchip/vcap/vcap_tc.c b/drivers/net/ethernet/microchip/vcap/vcap_tc.c index 09a994a7cec2..09abe7944af6 100644 --- a/drivers/net/ethernet/microchip/vcap/vcap_tc.c +++ b/drivers/net/ethernet/microchip/vcap/vcap_tc.c @@ -235,6 +235,9 @@ int vcap_tc_flower_handler_vlan_usage(struct vcap_tc_flower_parse_usage *st, goto out; } + if (mt.mask->vlan_tpid) + st->tpid = be16_to_cpu(mt.key->vlan_tpid); + st->used_keys |= BIT(FLOW_DISSECTOR_KEY_VLAN); return 0; diff --git a/drivers/net/ethernet/microchip/vcap/vcap_tc.h b/drivers/net/ethernet/microchip/vcap/vcap_tc.h index 5c55ccbee175..071f892f9aa4 100644 --- a/drivers/net/ethernet/microchip/vcap/vcap_tc.h +++ b/drivers/net/ethernet/microchip/vcap/vcap_tc.h @@ -13,6 +13,7 @@ struct vcap_tc_flower_parse_usage { struct vcap_admin *admin; u16 l3_proto; u8 l4_proto; + u16 tpid; unsigned int used_keys; }; |