Enable Chelsio T5 support
[vpp.git] / vnet / vnet / devices / dpdk / init.c
index a8e8494..f2ba79d 100644 (file)
@@ -317,6 +317,12 @@ dpdk_lib_init (dpdk_main_t * dm)
         xd->rx_q_used = 1;
 
       xd->dev_type = VNET_DPDK_DEV_ETH;
+
+      /* workaround for drivers not setting driver_name */
+      if (!dev_info.driver_name)
+        dev_info.driver_name = dev_info.pci_dev->driver->name;
+      ASSERT(dev_info.driver_name);
+
       if (!xd->pmd) {
 
 
@@ -392,6 +398,20 @@ dpdk_lib_init (dpdk_main_t * dm)
             }
             break;
 
+          case VNET_DPDK_PMD_CXGBE:
+            switch (dev_info.pci_dev->id.device_id) {
+              case 0x5410: /* T580-LP-cr */
+                xd->nb_rx_desc = DPDK_NB_RX_DESC_40GE;
+                xd->nb_tx_desc = DPDK_NB_TX_DESC_40GE;
+                xd->port_type = VNET_DPDK_PORT_TYPE_ETH_40G;
+                break;
+              default:
+                xd->nb_rx_desc = DPDK_NB_RX_DESC_10GE;
+                xd->nb_tx_desc = DPDK_NB_TX_DESC_10GE;
+                xd->port_type = VNET_DPDK_PORT_TYPE_UNKNOWN;
+            }
+            break;
+
           /* Intel Red Rock Canyon */
           case VNET_DPDK_PMD_FM10K:
             xd->port_type = VNET_DPDK_PORT_TYPE_ETH_SWITCH;
@@ -1685,6 +1705,10 @@ do {                                                  \
   _(pmd_af_packet_drv)
 #endif
 
+#ifdef RTE_LIBRTE_CXGBE_PMD
+  _(rte_cxgbe_driver)
+#endif
+
 #undef _
 
 /*