diff options
author | Gabriel Ganne <gabriel.ganne@enea.com> | 2017-11-28 09:55:07 +0100 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2017-11-28 12:27:10 +0000 |
commit | af6f93a4eb4740ac13b1d65eb44da442976fa809 (patch) | |
tree | 077b333085a8b6ee26cfabd444a458ee847d44ff /src | |
parent | 430ac939d115b59e3f7f704645c6f88878223e1b (diff) |
net/virtio: support modern device id
Add legacy and modern macros to pci_config header.
This follows dpdk commit: 4c7903658f6b5a8f4901224ef405445541b91e4a
And PCI Device Conformance doc :
docs.oasis-open.org/virtio/virtio/v1.0/cs02/virtio-v1.0-cs02.html#x1-640001
Change-Id: Iacd40ea8c06f220736ca0bc7ce68bcf1e55b68f6
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
Diffstat (limited to 'src')
-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: */ |