> On 25 Sep 2018, at 15:03, Stephen Hemminger <step...@networkplumber.org>
> wrote:
>
> I noticed that the PCI domain in VPP is limited to 16 bits.
> This is a problem on Azure/Hyper-V and other virtual environments.
> In these environments, the host will generate a 32 bit synthetic value
> when passing a PCI device through. The Linux kernel has 32 bit PCI
> domains, and libpciaccess used by X now has 32 bit PCI domains.
> The PCI specification says domain is supposed to be 32 bit so this is
> not just Linux/Hyper-V issue.
>
> Unfortunately, VPP has 16 bit PCI domain hard coded. This is not a show
> stopper now because the main use of PCI is for SR-IOV passthrough. In the
> passthrough case, the VF is taken over by other devices and the actual PCI
> value is not something VPP has to worry about directly. With DPDK today,
> this is done via TAP/FAILSAFE/VDEV_NETVSC devices. The issue would only be
> visible with direct device assignment.
>
> Fixing it in not too hard (only in pci.h) but it would cause the device
> union to get larger and all the places as_u32 is used would have to become
> as_u64. Mostly mechanical, but always a possibility of errors.
Feel free to submit patch which moves to u64, i don't expect major issues.
This is purely historic....
--
Damjan
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#10655): https://lists.fd.io/g/vpp-dev/message/10655
Mute This Topic: https://lists.fd.io/mt/26219976/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-