From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <users-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 240E8A00C3
	for <public@inbox.dpdk.org>; Thu, 12 May 2022 20:31:36 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id A351B40E64;
	Thu, 12 May 2022 20:31:35 +0200 (CEST)
Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com
 [209.85.215.180])
 by mails.dpdk.org (Postfix) with ESMTP id 1A55C40DDD
 for <users@dpdk.org>; Thu, 12 May 2022 20:31:34 +0200 (CEST)
Received: by mail-pg1-f180.google.com with SMTP id r71so5006640pgr.0
 for <users@dpdk.org>; Thu, 12 May 2022 11:31:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=networkplumber-org.20210112.gappssmtp.com; s=20210112;
 h=date:from:to:cc:subject:message-id:in-reply-to:references
 :mime-version:content-transfer-encoding;
 bh=9ccnSa7Fq6I1XxBF7RchJ9w8bHPXp+gnD/yyWwHLc1U=;
 b=vt5uFkE2fPWnocqSGJmpA7sS3keMicdH8h/Cl6hTRNu1NNgbP58BGdh44q6ZBPWBH+
 6Eu6mXFLwWfsgY1jOGq8Hvi6K9tsh5YRP3gjkmNze30zyHKQH49y/cfQvBYvB8+nBMBa
 9IBDBwgwApI/oqeB6p/ckgSL8Qpj2RZwmpfzIR8QOL9ezT1/zZ9eaJrvVgPk3E58qOqm
 4s0BfglCjv51IPVsxhP+in2uFI4OlGIAjuOkMCtpPDoWBGndUVoSH8z/Lk4UMi2DFTFd
 Ehg+mKWXaR6I8/rWGtBIn03V8IWx1+G/L7/MT+Z0nQ57Bbvl3P4SLQNVpQuUeDd7iTyT
 F8NA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to
 :references:mime-version:content-transfer-encoding;
 bh=9ccnSa7Fq6I1XxBF7RchJ9w8bHPXp+gnD/yyWwHLc1U=;
 b=Sp5mTpC8xb1NmMdc0IBi0GBgGy4fccimc+0VuVbR9NulVuTbw+evuxsNk9JulRcR+H
 JS4VQgRgpl9dsdZw5brTJi5qsay6tZxK88hQ7V5rmgSigXJ0EG80dQRlFSYQq44Y0kz3
 H4BT89BNynkaKv/x9zvkuTRJZPrGtoN8RjUgCN5UMDdge80X3bvShNuSuIcGAQjerd1T
 OnOim002xikOOZWsvTIuf8Q1LlistkasruBqS2NK/MtXOnoEcxpoNWIXmZGduOvCqOwv
 NdOMgqbdXjdcvononL5QpHbqFKxWVRd1fwFgxqRAcxfgXOEC4lmNMKv8VSue6wY8+Cwx
 Sa5w==
X-Gm-Message-State: AOAM532Ql82C0MnJE8zVJMrcKldXLTNZk1A987Hjjo10jXe6wj0cEqOL
 xCcWHae8woGh8zZMhPdTTfZpfg==
X-Google-Smtp-Source: ABdhPJzuC0/ZbnCNuYUw9TlXPhYC+65eAzQZTl93liGrfU/G3B1EkrYkJNx/9v5jvFF0yH4L6iCOwg==
X-Received: by 2002:a05:6a00:ad2:b0:4f1:2734:a3d9 with SMTP id
 c18-20020a056a000ad200b004f12734a3d9mr748393pfl.61.1652380293137; 
 Thu, 12 May 2022 11:31:33 -0700 (PDT)
Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199])
 by smtp.gmail.com with ESMTPSA id
 e3-20020a170902784300b0015edc07dcf3sm260437pln.21.2022.05.12.11.31.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 May 2022 11:31:32 -0700 (PDT)
Date: Thu, 12 May 2022 11:31:30 -0700
From: Stephen Hemminger <stephen@networkplumber.org>
To: Sylvain Vasseur <remmog@gmail.com>
Cc: users@dpdk.org
Subject: Re: ETH_RSS_NONFRAG_IPV4_UDP with netvsc, and memory setup for mlx4
Message-ID: <20220512113130.2c0e46be@hermes.local>
In-Reply-To: <CABVe3HOvi0nv6ajUJFBkArLNpndgd0bphNiqserVUvS8Xe3-Yg@mail.gmail.com>
References: <CABVe3HOvi0nv6ajUJFBkArLNpndgd0bphNiqserVUvS8Xe3-Yg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-BeenThere: users@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK usage discussions <users.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/users>,
 <mailto:users-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/users/>
List-Post: <mailto:users@dpdk.org>
List-Help: <mailto:users-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/users>,
 <mailto:users-request@dpdk.org?subject=subscribe>
Errors-To: users-bounces@dpdk.org

On Thu, 12 May 2022 19:09:19 +0100
Sylvain Vasseur <remmog@gmail.com> 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.