--- zzzz-none-000/linux-5.15.111/net/8021q/vlan_core.c 2023-05-11 14:00:40.000000000 +0000 +++ puma7-arm-6670-761/linux-5.15.111/net/8021q/vlan_core.c 2024-02-07 09:28:09.000000000 +0000 @@ -1,4 +1,9 @@ // SPDX-License-Identifier: GPL-2.0 +/* + * Includes Intel Corporation's changes/modifications dated: 2017. + * Changed/modified portions - Copyright (c) 2017, Intel Corporation. + */ + #include #include #include @@ -60,6 +65,17 @@ skb->priority = vlan_get_ingress_priority(vlan_dev, skb->vlan_tci); __vlan_hwaccel_clear_tag(skb); +#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 + rx_stats = this_cpu_ptr(vlan_dev_priv(vlan_dev)->vlan_pcpu_stats); u64_stats_update_begin(&rx_stats->syncp);