On Fri, 12 Apr 2019 09:19:37 +0000 "Benoit Ganne (bganne)" <bga...@cisco.com> wrote:
> Hi Stephen, > > Thanks. Ok, so we should implement the VF control protocol on the netsvc > device. That said, it looks to me that we could use the AF_PACKET for this, > no need for an optimized, poll-mode netsvc driver in VPP. > To implement this control protocol, I suppose studying the DPDK > implementation should be enough. > The usecase would be eg. to deploy VNF in Azure with VPP without having to > pull DPDK as a dependency and improve performance quite noticeably. > What do you think? It is possible to use AF_PACKET (or TAP) on the netvsc device. That is what the DPDK Failsafe/TAP/vdev_netvsc does, but it has a number of issues. The main was is that for work loads with lots of short lived flows the packet path through the kernel and back to userspace is real slow. Also, the slow path does get used during zero-downtime servicing on Azure. So if a VM is suddenly 10x slower we get complaints. Also, the added overhead of setup and carrying around a kernel network device is non-trivial. Plus the notifications about VF coming and going happen on the VMBus which is not exposed directly to userspace. You end up listening for netlink event then correlating back on MAC address. The upside of not using DPDK is that it removes dealing with UIO drivers. You might want to consider using AF_XDP in the future, but netvsc device does not support XDP natively (have to use XDP generic).
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12780): https://lists.fd.io/g/vpp-dev/message/12780 Mute This Topic: https://lists.fd.io/mt/30795618/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-