diff options
author | Felix Fietkau <nbd@nbd.name> | 2021-03-24 02:30:48 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-03-24 20:48:39 +0100 |
commit | 26267bf9bb57d504c785d8659adc8e02b6629c95 (patch) | |
tree | 1aff391d24412388d48b3c93dbccfb4dd4b3aacd /net/bridge/br_vlan.c | |
parent | netfilter: nft_flow_offload: use direct xmit if hardware offload is enabled (diff) | |
download | linux-26267bf9bb57d504c785d8659adc8e02b6629c95.tar.xz linux-26267bf9bb57d504c785d8659adc8e02b6629c95.zip |
netfilter: flowtable: bridge vlan hardware offload and switchdev
The switch might have already added the VLAN tag through PVID hardware
offload. Keep this extra VLAN in the flowtable but skip it on egress.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_vlan.c')
-rw-r--r-- | net/bridge/br_vlan.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bridge/br_vlan.c b/net/bridge/br_vlan.c index c92240b21c4a..da3256a3eed0 100644 --- a/net/bridge/br_vlan.c +++ b/net/bridge/br_vlan.c @@ -1386,6 +1386,8 @@ int br_vlan_fill_forward_path_mode(struct net_bridge *br, if (path->bridge.vlan_mode == DEV_PATH_BR_VLAN_TAG) path->bridge.vlan_mode = DEV_PATH_BR_VLAN_KEEP; + else if (v->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) + path->bridge.vlan_mode = DEV_PATH_BR_VLAN_UNTAG_HW; else path->bridge.vlan_mode = DEV_PATH_BR_VLAN_UNTAG; |