[dpdk-users] Can't use IP address as RSS input set on qinq packets
huruinan at gmail.com
Wed Sep 5 20:56:05 CEST 2018
It seems that the "Receive classification filters" defined in X710 datasheet chapter 7.1 couldn't the parse the IP header carried in dot1q packets.
Here is our setup
NIC0 P1 P2
| double tag openstack need extra tag to find tenant
IP carried in 802.1q packets(single tag)
The VM1 is created from the Windriver openstack running on this server. The port P1 and P2 on NIC0 are attached to VM1 using SRIOV.
Here is the ip link result on P1, we can see the 2011 is assigned to vf 1 as tenent vlan id.
10: enp131s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP mode DEFAULT qlen 1000
link/ether 3c:fd:fe:2f:ca:40 brd ff:ff:ff:ff:ff:ff
vf 0 MAC 00:00:00:00:00:00, spoof checking on, link-state auto
vf 1 MAC fa:16:3e:88:10:71, vlan 2011, spoof checking on, link-state enable
vf 2 MAC 00:00:00:00:00:00, spoof checking on, link-state auto
When dot1q packets are received on vf 1 P1, they are all assigned to queue 0 and recognized as L2_ETHER packets.
port 0/queue 0: received 1 packets
src=FA:16:3E:5E:EC:DA - dst=FA:16:3E:77:4A:4D - type=0x8100 - length=102 - nb_segs=1 - hw ptype: L2_ETHER - sw ptype: L2_ETHER_VLAN L3_IPV4 - l2_len=18 - l3_len=20 - Receive queue=0x0
ol_flags: PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD
If removing the dot1q encapulation, the nic can recognize the ip header and do the rss based on destination and source address.
This bug http://patchwork.dpdk.org/patch/15765/ seems related my issue. Because our dpdk application running on vm, I changed the ort and pit reg manually on host. After the change, x710 still can’t find the ipv4 header in qinq packets.
We are using the dpdk 17.05 now.
ruinan.hu at casa-systems.com
More information about the users