On Tue, 2017-04-11 at 15:36 -0400, carl h wrote: > Hi > > Hope this is right place to ask this. Looking for help regarding vlan > tagging done by the 8021q driver. > > I tried to manually configure a vlan on my target device. I use these > 2 vlan config commands, then I ping an IP address and sniff the > packets to look for the vlan tag in the messages. > > vconfig add esw0 > ifconfig esw0.10 10.93.1.2 netmask 255.255.255.0 > > Despite my attempts, tagging does not occur in any outgoing packets. > However when I tried the exact same method and commands on my Ubuntu > workstation vlan tagging did work without problems. > > Target: mips32, Linux 2.6.39, 802.1Q driver version 1.8 > > I have looked at the source for the 8021q.ko driver and I keep running > into a dead end trying to figure out where the 4 bytes of vlan data > gets added to the IP header. There are 2 key functions where vlan > information is deciphered and added to a structure that contains vlan > info, but the information never gets added to the header for some > reason. > > vlan_dev_hard_header() > vlan_dev_hard_start_xmit() > > It is clear in the code where vlan information in receive packets gets > removed, but not so clear in the transmit direction where this is > supposed to happen. > > Could someone explain to me what I'm missing, and where and how vlan > info gets added to the header for outgoing packets? > > thx > /carl
The Ethernet HW probably inserts the VLAN tag for you as an 'offload'. Run 'ethtool -k <interface>' and check the offloads. You can change the offload settings with 'ethtool -K..'. - Greg Rose