From: Alexander Popovsky Date: Sun, 4 Dec 2016 23:26:58 +0000 (-0800) Subject: Fix crash whith bonded ethernet / DPDK 16.11 X-Git-Tag: odp_vpp~985 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=9dfd3383e5dd2c50fa5b65ba1bfc27ced8728b7c;p=odp4vpp.git Fix crash whith bonded ethernet / DPDK 16.11 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 --- 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);