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

Message ID 1506955769-115602-1-git-send-email-michalx.weglicki@intel.com
State New
Headers show
Series
  • [ovs-dev,v5,1/2] netdev-dpdk: extend netdev_dpdk_get_status to include if_type and if_descr
Related show

Commit Message

Weglicki, MichalX Oct. 2, 2017, 2:49 p.m.
This commit extends netdev_dpdk_get_status API to include additional
driver-related information: if_type and if_descr.

v2->v3: Code rebase.
v3->v4: Minor comments applied.

Co-authored-by: Michal Weglicki <michalx.weglicki@intel.com>
Signed-off-by: Michal Weglicki <michalx.weglicki@intel.com>
Signed-off-by: Przemyslaw Szczerbik <przemyslawx.szczerbik@intel.com>
---
 lib/netdev-dpdk.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Greg Rose Oct. 3, 2017, 10:09 p.m. | #1
On 10/02/2017 07:49 AM, Michal Weglicki wrote:
> This commit extends netdev_dpdk_get_status API to include additional
> driver-related information: if_type and if_descr.
> 
> v2->v3: Code rebase.
> v3->v4: Minor comments applied.
> 
> Co-authored-by: Michal Weglicki <michalx.weglicki@intel.com>
> Signed-off-by: Michal Weglicki <michalx.weglicki@intel.com>
> Signed-off-by: Przemyslaw Szczerbik <przemyslawx.szczerbik@intel.com>
> ---
>   lib/netdev-dpdk.c | 9 +++++++++
>   1 file changed, 9 insertions(+)
> 
> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
> index c60f46f..5cc70d1 100644
> --- a/lib/netdev-dpdk.c
> +++ b/lib/netdev-dpdk.c
> @@ -36,6 +36,7 @@
>   #include <rte_meter.h>
>   #include <rte_pci.h>
>   #include <rte_vhost.h>
> +#include <rte_version.h>
>   
>   #include "dirs.h"
>   #include "dp-packet.h"
> @@ -2476,6 +2477,14 @@ netdev_dpdk_get_status(const struct netdev *netdev, struct smap *args)
>       smap_add_format(args, "max_vfs", "%u", dev_info.max_vfs);
>       smap_add_format(args, "max_vmdq_pools", "%u", dev_info.max_vmdq_pools);
>   
> +    /* Querying the DPDK library for iftype may be done in future, pending
> +     * support; cf. RFC 3635 Section 3.2.4. */
> +    enum { IF_TYPE_ETHERNETCSMACD = 6 };
> +
> +    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",
>                           dev_info.pci_dev->id.vendor_id);
> 

Tested-by: Greg Rose <gvrose8192@gmail.com>
Reviewed-by: Greg Rose <gvrose8192@gmail.com>

Patch

diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index c60f46f..5cc70d1 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -36,6 +36,7 @@ 
 #include <rte_meter.h>
 #include <rte_pci.h>
 #include <rte_vhost.h>
+#include <rte_version.h>
 
 #include "dirs.h"
 #include "dp-packet.h"
@@ -2476,6 +2477,14 @@  netdev_dpdk_get_status(const struct netdev *netdev, struct smap *args)
     smap_add_format(args, "max_vfs", "%u", dev_info.max_vfs);
     smap_add_format(args, "max_vmdq_pools", "%u", dev_info.max_vmdq_pools);
 
+    /* Querying the DPDK library for iftype may be done in future, pending
+     * support; cf. RFC 3635 Section 3.2.4. */
+    enum { IF_TYPE_ETHERNETCSMACD = 6 };
+
+    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",
                         dev_info.pci_dev->id.vendor_id);