[ovs-dev] [PATCH 1/2] netdev-dpdk: extend netdev_dpdk_get_status to include if_type and if_descr

Przemyslaw Szczerbik przemyslawx.szczerbik at intel.com
Wed Jul 26 09:43:50 UTC 2017


This commit extends netdev_dpdk_get_status API to include additional
driver-related information: if_type and if_descr.

Signed-off-by: Przemyslaw Szczerbik <przemyslawx.szczerbik at intel.com>
---
 lib/netdev-dpdk.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index ea17b97..2126882 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -32,6 +32,7 @@
 #include <rte_mbuf.h>
 #include <rte_meter.h>
 #include <rte_virtio_net.h>
+#include <rte_version.h>
 
 #include "dirs.h"
 #include "dp-packet.h"
@@ -150,6 +151,11 @@ typedef uint8_t dpdk_port_t;
 #define VHOST_ENQ_RETRY_NUM 8
 #define IF_NAME_SZ (PATH_MAX > IFNAMSIZ ? PATH_MAX : IFNAMSIZ)
 
+/* ifType value '6' is used for all ethernet-like interfaces, regardless of
+* speed or link-layer encapsulation in use.
+* Cf. IETF RFC 3635 Section 3.2.4. */
+#define IF_TYPE_ETHERNETCSMACD 6
+
 static const struct rte_eth_conf port_conf = {
     .rxmode = {
         .mq_mode = ETH_MQ_RX_RSS,
@@ -2381,6 +2387,11 @@ netdev_dpdk_get_status(const struct netdev *netdev, struct smap *args)
                            dev_info.max_hash_mac_addrs);
     smap_add_format(args, "max_vfs", "%u", dev_info.max_vfs);
     smap_add_format(args, "max_vmdq_pools", "%u", dev_info.max_vmdq_pools);
+    /* Once DPDK library supports retrieving ifType we should get this value
+     * directly from DPDK rather than hardcoding it. */
+    smap_add_format(args, "if_type", "%"PRIu32, IF_TYPE_ETHERNETCSMACD);
+    smap_add_format(args, "if_descr", "%s %s", rte_version(),
+                                               dev_info.driver_name);
 
     if (dev_info.pci_dev) {
         smap_add_format(args, "pci-vendor_id", "0x%u",
-- 
1.8.3.1

--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263


This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.



More information about the dev mailing list