I want to strip the vlan tags on all receiving 802.1q packets in hardware. I'm using the Intel 82599 10Gigabit Ethernet Controller, and from what I have found out this can be done by modifying bits, like RXDCTL.VME. Is this correct? If so, where can I find the header files containing the bits I need to modify on my Ubuntu (I'm guessing on a default location)?
Or can this be done using IPMI?
All help appreciated.
Good day. I need additional information to check, please confirm if you are trying to strip the VLAN for a given VF (that is in SR-IOV mode) or trying to strip the VLAN tags for the host traffic?
I am not using SR-IOV mode. All traffic received at the host (server) coming from a VLAN must have their VLAN tags stripped in hw before sending the packets to the next layer.
The 82599 datasheet explains that changing the value of IXGBE_RXDCTL_VME in the driver header file ixgbe_type.h from 0x40000000 to 0x1b would do the trick, but when i do this, compile and install the driver, nothing happens. It doesn't work.
Here is the update hopefully can clarify your concern. Stripping VLAN tags by the hardware will not work. Network stack will get confused and will not deliver the packets to correct entity. Typically a receiving station has to participate in a VLAN. Network stack in the OS keeps track of which VLAN is in use and frames with correct VALN tags are being received/ transmitted. So if the NIC hardware in a receiving station start stripping VLAN tags then how would OS Network stack know which interface the packet belongs to.
Can you provide more detail what you are trying to accomplish in this network?
The NIC is attached to a network monitor, and is therefore not part of any VLANs, or network transmission in general. VLAN tags are causing trouble with the cooperation between some of the analyzing tools, and must be stripped before reaching any software. In regards to performance, stripping in the OS is not an option.
It's not possible to strip VLAN tags for the arriving packets in hardware since this will confuse operating system's network stack and none of the packets will be
delivered to the intended destination.
But if that is the case, why are vlan tag stripping in hardware an option in the Intel nic datasheet?
Chapter 220.127.116.11, page 382.
The NIC is only recieving a copy of the network traffic (mirroring), and the packets will reach its destination independent of what is done here.
With regards the VLAN tags can be stripped for arriving ethernet frames, this functionality has not been tested for non IOV mode. VLAN stripping only make logical sense in IOV mode, where each VF is assigned a VLAN tag and on transmit Hardware inserts a VLAN tag and on receive hardware strips the VLAN tag. VM/VF is not aware of it's traffic being tagged. Intel 82599 drivers only use this functionality in IOV mode. You may look at our open source Linux driver to see how VLAN tagging/stripping is being implemented and try to experiment with your own driver
Hope this clarifies.
I have a issue with SR-IOV vlan, I want to know how to stripe vlan on guest layer, the vlan has pass to host layer as below
ip link show ens1f0:
vf 60 MAC fa:16:3e:3e:09:39, vlan 202, spoof checking on, link-state auto
on guest the interface like below:
eth0 Link encap:Ethernet HWaddr FA:16:3E:3E:09:39
inet addr:xx.xx.xx.xx Bcast:xx.xx.xx.xx Mask:255.255.224.0
inet6 addr: fe80::f816:3eff:fe3e:939/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:936 errors:0 dropped:0 overruns:0 frame:0
TX packets:1272 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:56160 (54.8 KiB) TX bytes:59596 (58.1 KiB)
the guest driver is:
# ethtool -i eth0
my current problem is the host send package with vlan 202 to guest, but the guest can't recognize vlan 202, so I think guest driver need to stripe the vlan, right?
would you please help to give a solution, thanks a lot.
Have you checked on this guide http://www.intel.ph/content/dam/doc/design-guide/82599-sr-iov-driver-companion-guide.pdf http://www.intel.ph/content/dam/doc/design-guide/82599-sr-iov-driver-companion-guide.pdf (page 34 about vlan tag)?
Hope this helps.