--- zzzz-none-000/linux-4.9.279/net/8021q/vlan_core.c 2021-08-08 06:38:54.000000000 +0000 +++ puma7-arm-6591-750/linux-4.9.279/net/8021q/vlan_core.c 2023-02-08 10:58:16.000000000 +0000 @@ -1,3 +1,8 @@ +/* + * Includes Intel Corporation's changes/modifications dated: 2017. + * Changed/modified portions - Copyright (c) 2017, Intel Corporation. + */ + #include #include #include @@ -50,6 +55,18 @@ } skb->priority = vlan_get_ingress_priority(vlan_dev, skb->vlan_tci); + +#ifdef CONFIG_TI_PACKET_PROCESSOR + /* + * Need to save the vpid vlan_tci before it will erased + * We will use it later in the ingress hook to reproduce + * the vlan_tci of the real internal vpid's Vlan. + */ + if (skb->vpid_vlan_tci != 0) + skb->parent_vpid_vlan_tci = skb->vpid_vlan_tci; + skb->vpid_vlan_tci = skb_vlan_tag_get(skb); +#endif + skb->vlan_tci = 0; rx_stats = this_cpu_ptr(vlan_dev_priv(vlan_dev)->vlan_pcpu_stats);