summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEli Britstein <elibr@mellanox.com>2020-01-09 07:46:49 +0000
committerIlya Maximets <i.maximets@ovn.org>2020-01-16 13:34:10 +0100
commit2f7f9284bd648b4d1e429a85fd803796d4238808 (patch)
treec732661b1be78f4a159d3ffdc7628bd8fe8ed639 /lib
parent319a9bb33855ff5361da149944a8578decf0b492 (diff)
downloadopenvswitch-2f7f9284bd648b4d1e429a85fd803796d4238808.tar.gz
netdev-dpdk: Getter function for dpdk port id API.
Add a getter function for using the dpdk port id outside the scope of netdev-dpdk.c to be used for HW offload. Signed-off-by: Eli Britstein <elibr@mellanox.com> Reviewed-by: Oz Shlomo <ozsh@mellanox.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/netdev-dpdk.c18
-rw-r--r--lib/netdev-dpdk.h2
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index e993ddaa4..72b67af1a 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -5019,6 +5019,24 @@ unlock:
return err;
}
+int
+netdev_dpdk_get_port_id(struct netdev *netdev)
+{
+ struct netdev_dpdk *dev;
+ int ret = -1;
+
+ if (!is_dpdk_class(netdev->netdev_class)) {
+ goto out;
+ }
+
+ dev = netdev_dpdk_cast(netdev);
+ ovs_mutex_lock(&dev->mutex);
+ ret = dev->port_id;
+ ovs_mutex_unlock(&dev->mutex);
+out:
+ return ret;
+}
+
bool
netdev_dpdk_flow_api_supported(struct netdev *netdev)
{
diff --git a/lib/netdev-dpdk.h b/lib/netdev-dpdk.h
index 59919a89a..848346cb4 100644
--- a/lib/netdev-dpdk.h
+++ b/lib/netdev-dpdk.h
@@ -53,6 +53,8 @@ netdev_dpdk_rte_flow_query_count(struct netdev *netdev,
struct rte_flow *rte_flow,
struct rte_flow_query_count *query,
struct rte_flow_error *error);
+int
+netdev_dpdk_get_port_id(struct netdev *netdev);
#else