Currently vport devices with dpif type "system" are rejected as part of netdev_offload_dpdk_init_flow_api() call. It is correct but we also need to specify what should be accepted. We should accept vport devices with dpif type "netdev". This commit add the acceptance of such devices to netdev_dpdk_flow_api_supported() API. This will allow any vport of type "netdev" to be considered for offloading by flow_put().
Co-authored-by: Eveline Raine <eveli...@mellanox.com> Signed-off-by: Eveline Raine <eveli...@mellanox.com> Signed-off-by: Ophir Munk <ophi...@mellanox.com> --- lib/netdev-dpdk.c | 6 ++++++ lib/netdev-offload-dpdk.c | 7 ------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 2423d26..854259c 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -4428,6 +4428,12 @@ netdev_dpdk_flow_api_supported(struct netdev *netdev) struct netdev_dpdk *dev; bool ret = false; + if (netdev_vport_is_vport_class(netdev->netdev_class) && + !strcmp(netdev_get_dpif_type(netdev), "netdev")) { + ret = true; + goto out; + } + if (!is_dpdk_class(netdev->netdev_class)) { goto out; } diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c index 2804978..1cc5f59 100644 --- a/lib/netdev-offload-dpdk.c +++ b/lib/netdev-offload-dpdk.c @@ -759,13 +759,6 @@ netdev_offload_dpdk_flow_del(struct netdev *netdev, const ovs_u128 *ufid, static int netdev_offload_dpdk_init_flow_api(struct netdev *netdev) { - if (netdev_vport_is_vport_class(netdev->netdev_class) - && !strcmp(netdev_get_dpif_type(netdev), "system")) { - VLOG_DBG("%s: vport belongs to the system datapath. Skipping.", - netdev_get_name(netdev)); - return EOPNOTSUPP; - } - return netdev_dpdk_flow_api_supported(netdev) ? 0 : EOPNOTSUPP; } -- 2.8.4 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev