On Thu, 12 May 2022 19:09:19 +0100 Sylvain Vasseur <[email protected]> wrote:
> Hello, > > I have been trying to use the netvsc PMD driver lately and face an issue > with the RSS flag for UDP. > I figured that this is because the PMD does not handle NDIS_HASH_UDP_IPV4, > so I am planning at trying to submit a change to the PMD, however I am > unsure about the value of the UDP constant. I found on > https://microsoft.github.io/windows-docs-rs/doc/windows/Win32/NetworkManagement/Ndis/constant.NDIS_HASH_UDP_IPV4.html > that it should be 0x00004000. > Would someone have some proper knowledge about this specific setting? > > And after having used that change locally, I am now facing some issues with > the mlx4 PMD used under the hood of netvsc. My memory allocation makes my > buffers exist at a different location than my memory pool and this creates > an issue: > net_mlx4: port 0 unable to find virtually contiguous chunk for address > Did someone already tried to use some custom memory management with the mlx > pmd? > > Thanks, > Sylvain It should be able to do UDP hash (for non-fragmented packets only). Look at FreeBSD: https://github.com/freebsd/freebsd-src/tree/main/sys/dev/hyperv/netvsc And Linux kernel: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/hyperv/rndis_filter.c The Linux driver is the definitive source. The FreeBSD driver is where netvsc PMD was derived from.
