dpdk: Add PMD type for Cavium LiquidIO II CN23XX 81/12781/3
authorchuhong yao <ych@panath.cn>
Tue, 29 May 2018 08:31:48 +0000 (16:31 +0800)
committerDamjan Marion <dmarion.lists@gmail.com>
Tue, 29 May 2018 15:38:00 +0000 (15:38 +0000)
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 <ych@panath.cn>
src/plugins/dpdk/device/dpdk.h
src/plugins/dpdk/device/format.c
src/plugins/dpdk/device/init.c [changed mode: 0755->0644]

index c60312e..b1610e7 100644 (file)
@@ -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
 {
index 6dd80e0..3750eb3 100644 (file)
@@ -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 ###";
old mode 100755 (executable)
new mode 100644 (file)
index 1f17c61..f147bcb
@@ -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)
       {