Partial offload was not working if the NIC did not support the tunnel
restoration API and OVS was compiled with ALLOW_EXPERIMENTAL_API.

This is fixed by returning success instead of EOPNOTSUPP when the
tunnel restoration API is not supported.

Fixes: 7bd1867b6d6a ("dpif-offload-dpdk: Abstract rte_flow implementation from 
dpif-netdev.")
Reported-by: Ilya Maximets <[email protected]>
Signed-off-by: Eelco Chaudron <[email protected]>
---
 lib/dpif-offload-dpdk-netdev.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/lib/dpif-offload-dpdk-netdev.c b/lib/dpif-offload-dpdk-netdev.c
index efe99065e..7b444f636 100644
--- a/lib/dpif-offload-dpdk-netdev.c
+++ b/lib/dpif-offload-dpdk-netdev.c
@@ -3026,9 +3026,6 @@ dpdk_netdev_hw_miss_packet_recover(struct dpdk_offload 
*offload,
     ret = netdev_dpdk_rte_flow_get_restore_info(netdev, packet,
                                                 &rte_restore_info, NULL);
     if (ret) {
-        if (ret == -EOPNOTSUPP) {
-            return -ret;
-        }
         /* This function is called for every packet, and in most cases there
          * will be no restore info from the HW, thus error is expected.
          */
-- 
2.54.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to