Enable Chelsio T5 support
Change-Id: I4bb6ac36a8bc585677448f4b22bd1299630f95de Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:
@ -753,6 +753,7 @@ static u8 * format_dpdk_device_name (u8 * s, va_list * args)
|
||||
char *device_name;
|
||||
u32 i = va_arg (*args, u32);
|
||||
struct rte_eth_dev_info dev_info;
|
||||
u8 * ret;
|
||||
|
||||
if (dm->interface_name_format_decimal)
|
||||
devname_format = "%s%d/%d/%d";
|
||||
@ -799,9 +800,27 @@ static u8 * format_dpdk_device_name (u8 * s, va_list * args)
|
||||
}
|
||||
|
||||
rte_eth_dev_info_get(i, &dev_info);
|
||||
return format (s, devname_format, device_name, dev_info.pci_dev->addr.bus,
|
||||
ret = format (s, devname_format, device_name, dev_info.pci_dev->addr.bus,
|
||||
dev_info.pci_dev->addr.devid,
|
||||
dev_info.pci_dev->addr.function);
|
||||
|
||||
/* address Chelsio cards which share PCI address */
|
||||
if (dm->devices[i].pmd == VNET_DPDK_PMD_CXGBE) {
|
||||
struct rte_eth_dev_info di;
|
||||
|
||||
di.pci_dev = 0;
|
||||
rte_eth_dev_info_get(i+1, &di);
|
||||
if (di.pci_dev && memcmp(&dev_info.pci_dev->addr, &di.pci_dev->addr,
|
||||
sizeof(struct rte_pci_addr)) == 0)
|
||||
return format(ret, "/0");
|
||||
|
||||
di.pci_dev = 0;
|
||||
rte_eth_dev_info_get(i-1, &di);
|
||||
if (di.pci_dev && memcmp(&dev_info.pci_dev->addr, &di.pci_dev->addr,
|
||||
sizeof(struct rte_pci_addr)) == 0)
|
||||
return format(ret, "/1");
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static u8 * format_dpdk_device_type (u8 * s, va_list * args)
|
||||
@ -859,6 +878,10 @@ static u8 * format_dpdk_device_type (u8 * s, va_list * args)
|
||||
dev_type = "Cisco VIC";
|
||||
break;
|
||||
|
||||
case VNET_DPDK_PMD_CXGBE:
|
||||
dev_type = "Chelsio T4/T5";
|
||||
break;
|
||||
|
||||
case VNET_DPDK_PMD_VMXNET3:
|
||||
dev_type = "VMware VMXNET3";
|
||||
break;
|
||||
|
@ -88,7 +88,8 @@ typedef enum {
|
||||
_ ("rte_enic_pmd", ENIC) \
|
||||
_ ("rte_vmxnet3_pmd", VMXNET3) \
|
||||
_ ("AF_PACKET PMD", AF_PACKET) \
|
||||
_ ("rte_pmd_fm10k", FM10K)
|
||||
_ ("rte_pmd_fm10k", FM10K) \
|
||||
_ ("rte_cxgbe_pmd", CXGBE)
|
||||
|
||||
typedef enum {
|
||||
VNET_DPDK_PMD_NONE,
|
||||
|
@ -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 _
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user