From 9dfd3383e5dd2c50fa5b65ba1bfc27ced8728b7c Mon Sep 17 00:00:00 2001 From: Alexander Popovsky Date: Sun, 4 Dec 2016 15:26:58 -0800 Subject: Fix crash whith bonded ethernet / DPDK 16.11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In DPDK 16.11 bonded PMD is still using old naming ‘rte_bond_pmd’. See: dpdk-16.11/drivers/net/bonding/rte_eth_bond_api.c Fixed crash when VPP is generating a name for ‘unknown’ non-PCI interface Change-Id: I59e15f009e1a11949a19abf5234d09425a81c6ce Signed-off-by: Alexander Popovsky --- vnet/vnet/devices/dpdk/dpdk.h | 2 +- vnet/vnet/devices/dpdk/format.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/vnet/vnet/devices/dpdk/dpdk.h b/vnet/vnet/devices/dpdk/dpdk.h index 19c521bc..554b95f6 100644 --- a/vnet/vnet/devices/dpdk/dpdk.h +++ b/vnet/vnet/devices/dpdk/dpdk.h @@ -80,7 +80,7 @@ extern vlib_node_registration_t handoff_dispatch_node; _ ("net_enic", ENIC) \ _ ("net_vmxnet3", VMXNET3) \ _ ("net_af_packet", AF_PACKET) \ - _ ("net_bonding", BOND) \ + _ ("rte_bond_pmd", BOND) \ _ ("net_fm10k", FM10K) \ _ ("net_cxgbe", CXGBE) \ _ ("net_dpaa2", DPAA2) diff --git a/vnet/vnet/devices/dpdk/format.c b/vnet/vnet/devices/dpdk/format.c index b0e624cd..212f1091 100644 --- a/vnet/vnet/devices/dpdk/format.c +++ b/vnet/vnet/devices/dpdk/format.c @@ -183,9 +183,13 @@ format_dpdk_device_name (u8 * s, va_list * args) } rte_eth_dev_info_get (i, &dev_info); - 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); + + if (dev_info.pci_dev) + 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); + else + ret = format (s, "%s%d", device_name, dm->devices[i].device_index); if (dm->devices[i].interface_name_suffix) return format (ret, "/%s", dm->devices[i].interface_name_suffix); -- cgit 1.2.3-korg