- pci_addr.domain = dev_info.pci_dev->addr.domain;
- pci_addr.bus = dev_info.pci_dev->addr.bus;
- pci_addr.slot = dev_info.pci_dev->addr.devid;
- pci_addr.function = dev_info.pci_dev->addr.function;
- p =
- hash_get (dm->conf->device_config_index_by_pci_addr,
- pci_addr.as_u32);
+ clib_warning ("DPDK bug: missing device info. Skipping %s device",
+ dev_info.driver_name);
+ continue;
+ }
+
+ pci_dev = dpdk_get_pci_device (&dev_info);
+
+ if (pci_dev) /* bonded interface has no pci info */
+ {
+ pci_addr.domain = pci_dev->addr.domain;
+ pci_addr.bus = pci_dev->addr.bus;
+ pci_addr.slot = pci_dev->addr.devid;
+ pci_addr.function = pci_dev->addr.function;
+ p = hash_get (dm->conf->device_config_index_by_pci_addr,
+ pci_addr.as_u32);