diff options
Diffstat (limited to 'target/linux/generic/pending-5.10/640-14-netfilter-nft_flow_offload-add-bridge-vlan-filtering.patch')
-rw-r--r-- | target/linux/generic/pending-5.10/640-14-netfilter-nft_flow_offload-add-bridge-vlan-filtering.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/target/linux/generic/pending-5.10/640-14-netfilter-nft_flow_offload-add-bridge-vlan-filtering.patch b/target/linux/generic/pending-5.10/640-14-netfilter-nft_flow_offload-add-bridge-vlan-filtering.patch new file mode 100644 index 0000000000..2e833117db --- /dev/null +++ b/target/linux/generic/pending-5.10/640-14-netfilter-nft_flow_offload-add-bridge-vlan-filtering.patch @@ -0,0 +1,31 @@ +From: Pablo Neira Ayuso <pablo@netfilter.org> +Date: Sun, 24 Jan 2021 18:01:34 +0100 +Subject: [PATCH] netfilter: nft_flow_offload: add bridge vlan filtering + support + +Add the vlan tag based when PVID is set on. + +Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> +--- + +--- a/net/netfilter/nft_flow_offload.c ++++ b/net/netfilter/nft_flow_offload.c +@@ -112,6 +112,18 @@ static void nft_dev_path_info(const stru + if (is_zero_ether_addr(info->h_source)) + memcpy(info->h_source, path->dev->dev_addr, ETH_ALEN); + ++ switch (path->bridge.vlan_mode) { ++ case DEV_PATH_BR_VLAN_TAG: ++ info->vid[info->num_vlans] = path->vlan.id; ++ info->vproto[info->num_vlans] = path->vlan.proto; ++ info->num_vlans++; ++ break; ++ case DEV_PATH_BR_VLAN_UNTAG: ++ info->num_vlans--; ++ break; ++ case DEV_PATH_BR_VLAN_KEEP: ++ break; ++ } + info->xmit_type = FLOW_OFFLOAD_XMIT_DIRECT; + break; + default: |