diff options
Diffstat (limited to 'src/plugins/dpdk/device')
-rw-r--r-- | src/plugins/dpdk/device/dpdk.h | 3 | ||||
-rw-r--r-- | src/plugins/dpdk/device/format.c | 4 | ||||
-rw-r--r-- | src/plugins/dpdk/device/init.c | 14 |
3 files changed, 20 insertions, 1 deletions
diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index 07c333d4781..d58d2daa768 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -83,7 +83,8 @@ extern vlib_node_registration_t admin_up_down_process_node; _ ("net_failsafe", FAILSAFE) \ _ ("net_liovf", LIOVF_ETHER) \ _ ("net_qede", QEDE) \ - _ ("net_netvsc", NETVSC) + _ ("net_netvsc", NETVSC) \ + _ ("net_bnxt", BNXT) typedef enum { diff --git a/src/plugins/dpdk/device/format.c b/src/plugins/dpdk/device/format.c index 942def63b0a..292c083fca5 100644 --- a/src/plugins/dpdk/device/format.c +++ b/src/plugins/dpdk/device/format.c @@ -362,6 +362,10 @@ format_dpdk_device_type (u8 * s, va_list * args) dev_type = "Microsoft Hyper-V Netvsc"; break; + case VNET_DPDK_PMD_BNXT: + dev_type = "Broadcom NetXtreme E/S-Series"; + 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 index 4cf827c7949..25f9e952824 100644 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -455,6 +455,7 @@ dpdk_lib_init (dpdk_main_t * dm) case VNET_DPDK_PMD_MLX4: case VNET_DPDK_PMD_MLX5: case VNET_DPDK_PMD_QEDE: + case VNET_DPDK_PMD_BNXT: xd->port_type = port_type_from_speed_capa (&dev_info); break; @@ -969,6 +970,19 @@ dpdk_bind_devices_to_uio (dpdk_config_main_t * conf) { continue; } + /* Broadcom NetXtreme S, and E series only */ + else if (d->vendor_id == 0x14e4 && + ((d->device_id >= 0x16c0 && + d->device_id != 0x16c6 && d->device_id != 0x16c7 && + d->device_id != 0x16dd && d->device_id != 0x16f7 && + d->device_id != 0x16fd && d->device_id != 0x16fe && + d->device_id != 0x170d && d->device_id != 0x170c && + d->device_id != 0x170e && d->device_id != 0x1712 && + d->device_id != 0x1713) || + (d->device_id == 0x1604 || d->device_id == 0x1605 || + d->device_id == 0x1614 || d->device_id == 0x1606 || + d->device_id == 0x1609 || d->device_id == 0x1614))) + ; else { dpdk_log_warn ("Unsupported PCI device 0x%04x:0x%04x found " |