From 17b8efc7ab111be40330515a443075a71e3be3e4 Mon Sep 17 00:00:00 2001 From: chuhong yao Date: Tue, 29 May 2018 16:31:48 +0800 Subject: dpdk: Add PMD type for Cavium LiquidIO II CN23XX MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- 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(-) mode change 100755 => 100644 src/plugins/dpdk/device/init.c (limited to 'src/plugins/dpdk') 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) { -- cgit 1.2.3-korg