Enable AWS ENA PMD 37/9837/2
authorMatthew Smith <mgsmith@netgate.com>
Mon, 11 Dec 2017 23:29:57 +0000 (17:29 -0600)
committerDamjan Marion <dmarion.lists@gmail.com>
Thu, 14 Dec 2017 09:50:28 +0000 (09:50 +0000)
Elastic Network Adapter PMD for newer AWS instance types

Change-Id: Ic7f6ac4a261ccc7af3ffb2ed8950274532e3feae
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
src/plugins/dpdk/device/dpdk.h
src/plugins/dpdk/device/format.c
src/plugins/dpdk/device/init.c

index 51ead04..770da6e 100644 (file)
@@ -79,7 +79,8 @@ extern vlib_node_registration_t dpdk_input_node;
   _ ("net_mlx5", MLX5)            \
   _ ("net_dpaa2", DPAA2)          \
   _ ("net_virtio_user", VIRTIO_USER) \
-  _ ("net_vhost", VHOST_ETHER)
+  _ ("net_vhost", VHOST_ETHER)    \
+  _ ("net_ena", ENA)
 
 typedef enum
 {
index faf59e7..8ea65c1 100644 (file)
@@ -332,6 +332,10 @@ format_dpdk_device_type (u8 * s, va_list * args)
       dev_type = "VhostEthernet";
       break;
 
+    case VNET_DPDK_PMD_ENA:
+      dev_type = "AWS ENA VF";
+      break;
+
     default:
     case VNET_DPDK_PMD_UNKNOWN:
       dev_type = "### UNKNOWN ###";
index 2027285..a6b6440 100755 (executable)
@@ -411,6 +411,10 @@ dpdk_lib_init (dpdk_main_t * dm)
              xd->port_conf.rxmode.hw_strip_crc = 1;
              break;
 
+           case VNET_DPDK_PMD_ENA:
+             xd->port_type = VNET_DPDK_PORT_TYPE_ETH_VF;
+             break;
+
            case VNET_DPDK_PMD_DPAA2:
              xd->port_type = VNET_DPDK_PORT_TYPE_ETH_10G;
              break;
@@ -736,6 +740,9 @@ dpdk_bind_devices_to_uio (dpdk_config_main_t * conf)
     /* Chelsio T4/T5 */
     else if (d->vendor_id == 0x1425 && (d->device_id & 0xe000) == 0x4000)
       ;
+    /* Amazen Elastic Network Adapter */
+    else if (d->vendor_id == 0x1d0f && d->device_id >= 0xec20 && d->device_id <= 0xec21)
+      ;
     /* Mellanox  */
     else if (d->vendor_id == 0x15b3 && d->device_id >= 0x1013 && d->device_id <= 0x101a)
       {