Added support for Virtio-user interfaces by means of a new VNET_DPDK_PORT_TYPE. 44/6744/2
authorMohammed Hawari <mhawari@cisco.com>
Wed, 17 May 2017 13:52:02 +0000 (15:52 +0200)
committerDamjan Marion <dmarion.lists@gmail.com>
Tue, 23 May 2017 09:52:55 +0000 (09:52 +0000)
Change-Id: I101e32cee8d9de51227b39ec2639c9fb44da1e6c
Signed-off-by: Mohammed Hawari <mhawari@cisco.com>
src/plugins/dpdk/device/dpdk.h
src/plugins/dpdk/device/format.c
src/plugins/dpdk/device/init.c

index ab5da56..d82ba5d 100644 (file)
@@ -73,7 +73,9 @@ extern vlib_node_registration_t dpdk_input_node;
   _ ("net_cxgbe", CXGBE)          \
   _ ("net_mlx4", MLX4)            \
   _ ("net_mlx5", MLX5)            \
-  _ ("net_dpaa2", DPAA2)
+  _ ("net_dpaa2", DPAA2)          \
+  _ ("net_virtio_user", VIRTIO_USER)
+
 
 typedef enum
 {
@@ -95,6 +97,7 @@ typedef enum
   VNET_DPDK_PORT_TYPE_ETH_SWITCH,
   VNET_DPDK_PORT_TYPE_AF_PACKET,
   VNET_DPDK_PORT_TYPE_ETH_VF,
+  VNET_DPDK_PORT_TYPE_VIRTIO_USER,
   VNET_DPDK_PORT_TYPE_UNKNOWN,
 } dpdk_port_type_t;
 
index 8fe6689..c4ddbe2 100644 (file)
@@ -205,6 +205,10 @@ format_dpdk_device_name (u8 * s, va_list * args)
       rte_eth_dev_info_get (i, &dev_info);
       return format (s, "af_packet%d", dm->devices[i].port_id);
 
+    case VNET_DPDK_PORT_TYPE_VIRTIO_USER:
+      device_name = "VirtioUser";
+      break;
+
     default:
     case VNET_DPDK_PORT_TYPE_UNKNOWN:
       device_name = "UnknownEthernet";
@@ -302,6 +306,10 @@ format_dpdk_device_type (u8 * s, va_list * args)
       dev_type = "NXP DPAA2 Mac";
       break;
 
+    case VNET_DPDK_PMD_VIRTIO_USER:
+      dev_type = "Virtio User";
+      break;
+
     default:
     case VNET_DPDK_PMD_UNKNOWN:
       dev_type = "### UNKNOWN ###";
index a972394..9096807 100755 (executable)
@@ -410,6 +410,10 @@ dpdk_lib_init (dpdk_main_t * dm)
              xd->port_id = bond_ether_port_id++;
              break;
 
+           case VNET_DPDK_PMD_VIRTIO_USER:
+             xd->port_type = VNET_DPDK_PORT_TYPE_VIRTIO_USER;
+             break;
+
            default:
              xd->port_type = VNET_DPDK_PORT_TYPE_UNKNOWN;
            }