From: chuhong yao Date: Tue, 29 May 2018 08:31:48 +0000 (+0800) Subject: dpdk: Add PMD type for Cavium LiquidIO II CN23XX X-Git-Tag: v18.07-rc1~262 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;ds=sidebyside;h=17b8efc7ab111be40330515a443075a71e3be3e4;p=vpp.git dpdk: Add PMD type for Cavium LiquidIO II CN23XX 1、Adding PMD type for support Cavium LiquidIO II CN23XX NIC; 2、Our company is using VPP + DPDK +Cavium LiquidIO II CN23XX NIC, Unfortunately, the latest VPP code does not support Cavium LiquidIO II CN23XX pci. So I increased the PMD type to support LiquidIO NIC, and can run normally, we most subsequent projects are based on VPP + DPDK + Cavium LiquidIO II CN23XX NIC model, so I hope VPP team can adopt this requirement, thanks a lot. Change-Id: I604ae444d69b37c2e26962bfe4ccdfe983b75041 Signed-off-by: chuhong yao --- diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index c60312e804b..b1610e72fa1 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -81,7 +81,8 @@ extern vlib_node_registration_t dpdk_input_node; _ ("net_virtio_user", VIRTIO_USER) \ _ ("net_vhost", VHOST_ETHER) \ _ ("net_ena", ENA) \ - _ ("net_failsafe", FAILSAFE) + _ ("net_failsafe", FAILSAFE) \ + _ ("net_liovf", LIOVF_ETHER) typedef enum { diff --git a/src/plugins/dpdk/device/format.c b/src/plugins/dpdk/device/format.c index 6dd80e01ede..3750eb33fbb 100644 --- a/src/plugins/dpdk/device/format.c +++ b/src/plugins/dpdk/device/format.c @@ -372,6 +372,10 @@ format_dpdk_device_type (u8 * s, va_list * args) dev_type = "Failsafe Ethernet"; break; + case VNET_DPDK_PMD_LIOVF_ETHER: + dev_type = "Cavium Lio 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 old mode 100755 new mode 100644 index 1f17c61ccaf..f147bcb6e11 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -476,6 +476,10 @@ dpdk_lib_init (dpdk_main_t * dm) xd->port_type = VNET_DPDK_PORT_TYPE_VHOST_ETHER; break; + case VNET_DPDK_PMD_LIOVF_ETHER: + xd->port_type = VNET_DPDK_PORT_TYPE_ETH_VF; + break; + default: xd->port_type = VNET_DPDK_PORT_TYPE_UNKNOWN; } @@ -773,6 +777,9 @@ dpdk_bind_devices_to_uio (dpdk_config_main_t * conf) /* Amazen Elastic Network Adapter */ else if (d->vendor_id == 0x1d0f && d->device_id >= 0xec20 && d->device_id <= 0xec21) ; + /* Cavium Network Adapter */ + else if (d->vendor_id == 0x177d && d->device_id == 0x9712) + ; /* Mellanox */ else if (d->vendor_id == 0x15b3 && d->device_id >= 0x1013 && d->device_id <= 0x101a) {