diff options
-rwxr-xr-x | src/plugins/dpdk/device/init.c | 4 | ||||
-rw-r--r-- | src/vlib/pci/pci_config.h | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index 7a6c5cf8789..416f62d59f7 100755 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -711,7 +711,9 @@ dpdk_bind_devices_to_uio (dpdk_config_main_t * conf) } /* virtio */ - if (d->vendor_id == 0x1af4 && d->device_id == 0x1000) + if (d->vendor_id == 0x1af4 && + (d->device_id == VIRTIO_PCI_LEGACY_DEVICEID_NET || + d->device_id == VIRTIO_PCI_MODERN_DEVICEID_NET)) ; /* vmxnet3 */ else if (d->vendor_id == 0x15ad && d->device_id == 0x07b0) diff --git a/src/vlib/pci/pci_config.h b/src/vlib/pci/pci_config.h index 92e56af6d57..df82e1ab444 100644 --- a/src/vlib/pci/pci_config.h +++ b/src/vlib/pci/pci_config.h @@ -162,6 +162,13 @@ pci_device_class_base (pci_device_class_t c) } /* + * 0x1000 is the legacy device-id value + * 0x1041 is (0x1040 + 1), 1 being the Virtio Device ID + */ +#define VIRTIO_PCI_LEGACY_DEVICEID_NET 0x1000 +#define VIRTIO_PCI_MODERN_DEVICEID_NET 0x1041 + +/* * Under PCI, each device has 256 bytes of configuration address space, * of which the first 64 bytes are standardized as follows: */ |