[ovs-dev] [PATCH v9 0/7] OVS-DPDK flow offload with rte_flow

Shahaf Shuler shahafs at mellanox.com
Thu Jun 14 19:24:37 UTC 2018

Hi MalleshX,

The error you get is because the specific flow you try to offload is not yet supported by this patchset.

This patchset only provide the first stage of partial offload in OVS-DPDK and supporting only few protocols as stated on the release notes[1]
You can check out all the unsupported options in the function netdev_dpdk_validate_flow.

When you say DECAP functionality is broken you mean the flow is not actually inserted to the HW right?
The datapath should still decap the flow correctly.

Have you tried w/o VXLAN tunnel rules?
Pay attention to the small fix I provided Flavio, I will send soon the v11 including it.

+.. _dpdk-flow-hardware-offload:
+Flow Hardware Offload (Experimental)
+The flow hardware offload is disabled by default and can be enabled by::
+    $ ovs-vsctl set Open_vSwitch . other_config:hw-offload=true
+So far only partial flow offload is implemented. Moreover, it only works
+with PMD drivers have the rte_flow action "MARK + RSS" support.
+The validated NICs are:
+- Mellanox (ConnectX-4, ConnectX-4 Lx, ConnectX-5)
+- Napatech (NT200B01)
+Supported protocols for hardware offload are:
+- L2: Ethernet, VLAN
+- L3: IPv4, IPv6


From: Koujalagi, MalleshX <malleshx.koujalagi at intel.com>
Sent: Thursday, June 14, 2018 4:35 AM
To: yliu at fridaylinux.org; Shahaf Shuler <shahafs at mellanox.com>; fc at napatech.com
Cc: dev at openvswitch.org; Ergin, Mesut A <mesut.a.ergin at intel.com>; Tsai, James <james.tsai at intel.com>
Subject: [ovs-dev] [PATCH v9 0/7] OVS-DPDK flow offload with rte_flow

Hi Yuanhan/Finn/Shahaf,

I tried hw-offloading  patch on top OvS v2.9.0 and DPDK 17.11.0 with VXLAN encap/decap functionalities. VXLAN encap is working fine, however VXLAN decap functionality is broken, Please find HW/SW conf and Setup as below:

[HW/SW configuration]:
CPU:                                      Intel(R) Xeon(R) Platinum 8180 28C @ 2.50GHz
RAM:                                     128GB DDR4 2666
Linux Kernel:                      4.4.0
Linux Dist.                           Ubuntu 16.04.4 LTS
DPDK:                                   v17.11.0 (Std configuration)
OVS:                                      v2.9.0
Gcc:                                       5.4.0
NIC:                                       2 x MCX416A-CCAT- ConnectX-4 network interface card 100GbE dual-port QSFP28; (version: 4.3-1.0.1 firmware-version: 12.22.1002 (MT_2150110033)
Traffic Type:                       64-byte Ethernet Frames with UDP/IP payload, Uniform Random Flows Sweeping Destination IP address
NUMA/Core setting:      on Socket #1

[VXLAN Setup]: Following section 8.5.1 VXLAN Test Methodology

2018-06-13T16:02:51.712Z|00155|netdev_linux|INFO|ioctl(SIOCGIFINDEX) on vxlan_sys_4789 device failed: No such device
2018-06-13T16:02:51.723Z|00156|connmgr|INFO|br-int<->unix#2: 1 flow_mods in the last 0 s (1 adds)
2018-06-13T16:02:51.725Z|00157|connmgr|INFO|br-int<->unix#4: 1 flow_mods in the last 0 s (1 adds)
2018-06-13T16:03:00.354Z|00001|netdev_linux(dp_netdev_flow_59)|INFO|ioctl(SIOCGIFINDEX) on vxlan_sys_4789 device failed: No such device
2018-06-13T16:03:00.354Z|00002|netdev_tc_offloads(dp_netdev_flow_59)|ERR|flow_put: failed to get ifindex for vxlan_sys_4789: No such device
2018-06-13T16:08:40.767Z|00003|netdev_dpdk(dp_netdev_flow_59)|ERR|cannot HW accelerate this flow due to unsupported protocols

After disabling HW-offload,  VXLAN ENCAP/DECAP functionalities are worked fine!!

Best regards

More information about the dev mailing list