From 2f5eb0afa0893e94ed0115896d274de6f48cb93c Mon Sep 17 00:00:00 2001 From: Matthew Smith Date: Mon, 11 Dec 2017 17:29:57 -0600 Subject: Enable AWS ENA PMD Elastic Network Adapter PMD for newer AWS instance types Change-Id: Ic7f6ac4a261ccc7af3ffb2ed8950274532e3feae Signed-off-by: Matthew Smith --- src/plugins/dpdk/device/dpdk.h | 3 ++- src/plugins/dpdk/device/format.c | 4 ++++ src/plugins/dpdk/device/init.c | 7 +++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index 51ead045aca..770da6e3da6 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -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 { diff --git a/src/plugins/dpdk/device/format.c b/src/plugins/dpdk/device/format.c index faf59e79211..8ea65c12ce2 100644 --- a/src/plugins/dpdk/device/format.c +++ b/src/plugins/dpdk/device/format.c @@ -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 ###"; diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index 20272853035..a6b6440f230 100755 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -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) { -- cgit 1.2.3-korg