--- zzzz-none-000/linux-3.10.107/net/8021q/vlan_dev.c 2017-06-27 09:49:32.000000000 +0000 +++ vr9-7490-729/linux-3.10.107/net/8021q/vlan_dev.c 2021-11-10 11:53:56.000000000 +0000 @@ -20,6 +20,12 @@ * 2 of the License, or (at your option) any later version. */ +/** + * Some part of this file is modified by Ikanos Communications. + * + * Copyright (C) 2013-2014 Ikanos Communications. + */ + #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include @@ -106,7 +112,11 @@ unsigned int vhdrlen = 0; u16 vlan_tci = 0; int rc; - +#if defined(CONFIG_FUSIV_KERNEL_POLICY_VLAN) || defined(CONFIG_FUSIV_KERNEL_POLICY_VLAN_MODULE) + if((vlan_dev_priv(dev)->txAction) == 1) + { + //printk("\nvlan_dev: adding the tag %d\n",(VLAN_DEV_INFO(dev)->txAction)); +#endif if (!(vlan_dev_priv(dev)->flags & VLAN_FLAG_REORDER_HDR)) { vhdr = (struct vlan_hdr *) skb_push(skb, VLAN_HLEN); @@ -127,6 +137,9 @@ type = ntohs(vlan->vlan_proto); vhdrlen = VLAN_HLEN; } +#if defined(CONFIG_FUSIV_KERNEL_POLICY_VLAN) || defined(CONFIG_FUSIV_KERNEL_POLICY_VLAN_MODULE) + } +#endif /* Before delegating work to the lower layer, enter our MAC-address */ if (saddr == NULL) @@ -164,6 +177,10 @@ * NOTE: THIS ASSUMES DIX ETHERNET, SPECIFICALLY NOT SUPPORTING * OTHER THINGS LIKE FDDI/TokenRing/802.3 SNAPs... */ +#if defined(CONFIG_FUSIV_KERNEL_POLICY_VLAN) || defined(CONFIG_FUSIV_KERNEL_POLICY_VLAN_MODULE) + if((vlan_dev_priv(dev)->txAction) == 1) + { +#endif if (veth->h_vlan_proto != vlan->vlan_proto || vlan->flags & VLAN_FLAG_REORDER_HDR) { u16 vlan_tci; @@ -171,7 +188,9 @@ vlan_tci |= vlan_dev_get_egress_qos_mask(dev, skb); skb = __vlan_hwaccel_put_tag(skb, vlan->vlan_proto, vlan_tci); } - +#if defined(CONFIG_FUSIV_KERNEL_POLICY_VLAN) || defined(CONFIG_FUSIV_KERNEL_POLICY_VLAN_MODULE) + } +#endif skb->dev = vlan->real_dev; len = skb->len; if (unlikely(netpoll_tx_running(dev)))