I am trying to get tagged packets to work in SRIOV mode. I am using latest dpdk 1.6 version with an application VM.
The setup is as below: The same configuration works for untagged packets.
Guest VM (Virtual Function)--- > KVM host (PF) -->Client server
When the packet is tagged (vlan tag/id) the packet is not see on the KVM host at all. I tried setting the same vlan tag on the KVM host also - ip link set <port> vf 0 vlan <vlan id> and that didnt work either.
I also tried changing the ol_flags within my application to |= PKT_TX_VLAN_PKT on the egress so the dpdk pmd driver sets the flag IXGBE_ADVTXD_DCMD_VLE in ixgbe_xmit_packets and still don't see the tagged packets going out. It looks like it just doesn't send it out when the tag is present. I am not sure why the host doesnt see the tagged packet at all. Can someone let me know what I am missing?
Should the packet arriving at ixgbe_xmit_packets - have the tag present or not? Do we all the offload flag PKT_TX_VLAN_PKT or not? I have tried different combinations and have been unsuccessful in getting the packet to reach the KVM host. This is true even when the dpdk l2fwd application is used instead of our application.
Any help would be highly appreciated!