X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Frmilecki.git;a=blobdiff_plain;f=target%2Flinux%2Fgeneric%2Fpending-5.10%2F640-10-netfilter-nft_flow_offload-add-bridge-vlan-filtering.patch;fp=target%2Flinux%2Fgeneric%2Fpending-5.10%2F640-10-netfilter-nft_flow_offload-add-bridge-vlan-filtering.patch;h=86fd6bf77bd9b3b17407451987754ca77aa9e4f6;hp=0000000000000000000000000000000000000000;hb=0d5bf53197481d291f9a541eefa03b11a34033f9;hpb=e90e75b12c818c49704755b9e530491aee2d554c diff --git a/target/linux/generic/pending-5.10/640-10-netfilter-nft_flow_offload-add-bridge-vlan-filtering.patch b/target/linux/generic/pending-5.10/640-10-netfilter-nft_flow_offload-add-bridge-vlan-filtering.patch new file mode 100644 index 00000000000..86fd6bf77bd --- /dev/null +++ b/target/linux/generic/pending-5.10/640-10-netfilter-nft_flow_offload-add-bridge-vlan-filtering.patch @@ -0,0 +1,31 @@ +From: Pablo Neira Ayuso +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 +--- + +--- a/net/netfilter/nft_flow_offload.c ++++ b/net/netfilter/nft_flow_offload.c +@@ -111,6 +111,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->encap[info->num_encaps].id = path->bridge.vlan_id; ++ info->encap[info->num_encaps].proto = path->bridge.vlan_proto; ++ info->num_encaps++; ++ break; ++ case DEV_PATH_BR_VLAN_UNTAG: ++ info->num_encaps--; ++ break; ++ case DEV_PATH_BR_VLAN_KEEP: ++ break; ++ } + info->xmit_type = FLOW_OFFLOAD_XMIT_DIRECT; + break; + default: