From: Igor Mikhailov (imichail) Date: Fri, 13 Jul 2018 23:59:09 +0000 (-0700) Subject: Add QEDE poll mode driver (librte_pmd_qede) X-Git-Tag: v18.07-rc1~3 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=29b32c2ae3e3cbe5ceaa607c8f4b31a2ac2faaa3;p=vpp.git Add QEDE poll mode driver (librte_pmd_qede) The driver implements Cavium QLogic FastLinQ QL4xxxx 10G/25G/40G/50G/100G Intelligent Ethernet Adapters (IEA) and Converged Network Adapters (CNA) (doc/guides/nics/qede.rst) Change-Id: If17e8cb572eb8c0585085be1c7cfdfa159eb6e68 Signed-off-by: Igor Mikhailov (imichail) --- diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index 8fa803567ee..f09a69c7f45 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -84,7 +84,8 @@ extern vlib_node_registration_t dpdk_input_node; _ ("net_vhost", VHOST_ETHER) \ _ ("net_ena", ENA) \ _ ("net_failsafe", FAILSAFE) \ - _ ("net_liovf", LIOVF_ETHER) + _ ("net_liovf", LIOVF_ETHER) \ + _ ("net_qede", QEDE) typedef enum { diff --git a/src/plugins/dpdk/device/format.c b/src/plugins/dpdk/device/format.c index 5338ee95057..afd2a506436 100644 --- a/src/plugins/dpdk/device/format.c +++ b/src/plugins/dpdk/device/format.c @@ -383,6 +383,10 @@ format_dpdk_device_type (u8 * s, va_list * args) dev_type = "Cavium Lio VF"; break; + case VNET_DPDK_PMD_QEDE: + dev_type = "Cavium QLogic FastLinQ QL4xxxx"; + 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 44182ba17e1..bd249e91b28 100644 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -436,6 +436,7 @@ dpdk_lib_init (dpdk_main_t * dm) case VNET_DPDK_PMD_CXGBE: case VNET_DPDK_PMD_MLX4: case VNET_DPDK_PMD_MLX5: + case VNET_DPDK_PMD_QEDE: xd->port_type = port_type_from_speed_capa (&dev_info); break; @@ -834,14 +835,14 @@ dpdk_bind_devices_to_uio (dpdk_config_main_t * conf) /* Cavium Network Adapter */ else if (d->vendor_id == 0x177d && d->device_id == 0x9712) ; + /* Cavium FastlinQ QL41000 Series */ + else if (d->vendor_id == 0x1077 && d->device_id >= 0x8070 && d->device_id <= 0x8090) + ; /* Mellanox */ else if (d->vendor_id == 0x15b3 && d->device_id >= 0x1013 && d->device_id <= 0x101a) { continue; } - /* Cavium FastlinQ QL41000 Series */ - else if (d->vendor_id == 0x1077 && d->device_id >= 0x8070 && d->device_id <= 0x8090) - ; else { dpdk_log_warn ("Unsupported PCI device 0x%04x:0x%04x found "