[dpdk-users] Can't use IP address as RSS input set on qinq packets

Ruinan huruinan at gmail.com
Wed Sep 5 20:56:05 CEST 2018

Hi all,

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

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
ruinan.hu at casa-systems.com
Software Engineer

More information about the users mailing list