On Tue, 25 Sep 2018 15:16:04 +0200 Damjan Marion <dmar...@me.com> wrote:
> > 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.... > Ok, the biggest issue is places that take 32 bit value into and out of long. As in ntohl( pci_addr.as_u32 )
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#10657): https://lists.fd.io/g/vpp-dev/message/10657 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] -=-=-=-=-=-=-=-=-=-=-=-