Re: Crash in tap pmd when using more than 8 rx queues

2024-09-06 Thread Ferruh Yigit
On 9/6/2024 3:04 PM, Edwin Brossette wrote: > Hello, > > I created a Bugzilla PR, just as you requested: > https://bugs.dpdk.org/show_bug.cgi?id=1536 show_bug.cgi?id=1536> > > As for the bug resolution, I have other matters to attend to and I'm > afraid I cannot spend mo

[PATCH] common/cnxk: unregister IRQ before reconfigure

2024-09-06 Thread pbhagavatula
From: Pavan Nikhilesh Unregister SSO device and NPA IRQs before resizing them. Signed-off-by: Pavan Nikhilesh --- drivers/common/cnxk/roc_dev.c | 16 +++- drivers/common/cnxk/roc_dev_priv.h | 2 ++ drivers/common/cnxk/roc_sso.c | 7 +++ 3 files changed, 16 insertion

Re: [PATCH v3 1/1] dts: add methods for modifying MTU to testpmd shell

2024-09-06 Thread Jeremy Spewock
On Fri, Sep 6, 2024 at 9:58 AM Juraj Linkeš wrote: > > > diff --git a/dts/framework/remote_session/testpmd_shell.py > > b/dts/framework/remote_session/testpmd_shell.py > > index ca24b28070..c1462ba2d3 100644 > > --- a/dts/framework/remote_session/testpmd_shell.py > > +++ b/dts/framework/remote_se

Re: [PATCH] dts: add RSS functions to testpmd

2024-09-06 Thread Juraj Linkeš
Two notes on sending patches. The patch is missing a version. I believe this is version 2? Second, looks like you didn't send this as a reply to the first version of the patch. The message-id to use can be found in the patchwork patch page. On 29. 8. 2024 14:50, Alex Chapman wrote: This pat

RE: [PATCH 0/3] eal: mark API's as stable

2024-09-06 Thread Morten Brørup
> From: Ferruh Yigit [mailto:ferruh.yi...@amd.com] > Sent: Friday, 6 September 2024 16.12 > > On 9/6/2024 11:04 AM, Morten Brørup wrote: > >> From: Ferruh Yigit [mailto:ferruh.yi...@amd.com] > >> Sent: Friday, 6 September 2024 10.54 > >> > >> On 9/5/2024 3:01 PM, Jerin Jacob wrote: > >>> On Thu, S

Re: [PATCH v3 1/8] build: split dependencies into mandatory and optional

2024-09-06 Thread Bruce Richardson
On Wed, Sep 04, 2024 at 04:08:29PM +0100, Anatoly Burakov wrote: > Allow specifying dependencies as either mandatory or optional. This does > not change anything about the build, but it is useful for tooling to know > if a dependency is required or not. > Ideally we probably want to merge the supp

Re: [PATCH] eal/x86: fix 32-bit write-combined stores

2024-09-06 Thread Radu Nicolau
On 06-Sep-24 2:27 PM, Bruce Richardson wrote: The "movdiri" instruction is given as a series of bytes in rte_io.h so that it works on compilers/assemblers which are unaware of the instruction. The REX prefix (0x40) on this instruction is invalid for 32-bit code, causing issues. Thankfully, the

[RFC v2 0/3] Import Kernel uAPI header files

2024-09-06 Thread Maxime Coquelin
This series enables importing Linux Kernel uAPI headers into the DPDK repository. It aims at solving alignment issues between the build system and the system applications linked ot DPDK libraries are run on. It can also help simplify spaghetti code done to support different versions of the Linux K

[RFC v2 1/3] uapi: introduce kernel uAPI headers import

2024-09-06 Thread Maxime Coquelin
This patch introduces uAPI headers import into the DPDK repository. This import is possible thanks to Linux Kernel licence exception for syscalls: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/LICENSES/exceptions/Linux-syscall-note Header files are have to be explicitly

[RFC v2 2/3] uapi: import VDUSE header

2024-09-06 Thread Maxime Coquelin
uAPI Version: v6.10 Signed-off-by: Maxime Coquelin --- linux-headers/uapi/linux/vduse.h | 353 +++ 1 file changed, 353 insertions(+) create mode 100644 linux-headers/uapi/linux/vduse.h diff --git a/linux-headers/uapi/linux/vduse.h b/linux-headers/uapi/linux/vduse.h

[RFC v2 3/3] vduse: use import VDUSE uAPI header

2024-09-06 Thread Maxime Coquelin
This patch makes use of the imported VDUSE headers. The VDUSE support is now systematically built on Linux systems, even if the build system does not support its ioctl(). Signed-off-by: Maxime Coquelin --- lib/vhost/meson.build | 5 + lib/vhost/vduse.c | 2 +- lib/vhost/vduse.h | 2

Re: [PATCH] config: add 32-bit cross-compilation x86 target

2024-09-06 Thread Medvedkin, Vladimir
Acked-by: Vladimir Medvedkin On 04/09/2024 14:57, Bruce Richardson wrote: To simplify building 32-bit binaries on 64-bit system, we can supply a cross-compilation file which provides the relevant compiler flags and settings needed - '-m32' compile/link flag, and appropriate PKG_CONFIG_LIBDIR va

[PATCH v2 0/4] simplify doing 32-bit DPDK builds

2024-09-06 Thread Bruce Richardson
To make it easier to build and test DPDK on 32-bit x86 add a set of cross-compile ini files for a number of common linux distributions. This avoids the user having to remember strange meson incantations with '-m32' in various args values and with the PKG_CONFIG_LIBDIR overridden in the environment.

[PATCH v2 1/4] config: add 32-bit x86 debian cross-compilation file

2024-09-06 Thread Bruce Richardson
To simplify building 32-bit binaries on 64-bit system, we can supply a cross-compilation file which provides the relevant compiler flags and settings needed - '-m32' compile/link flag, and appropriate PKG_CONFIG_LIBDIR value. This latter setting will depend upon the layout format of the particular

[PATCH v2 2/4] config: add fedora 32-bit x86 cross-compile file

2024-09-06 Thread Bruce Richardson
Add cross-compilation target for building 32-bit x86 DPDK on Fedora or RHEL. Signed-off-by: Bruce Richardson --- config/x86/cross-32bit-fedora.ini | 22 ++ 1 file changed, 22 insertions(+) create mode 100644 config/x86/cross-32bit-fedora.ini diff --git a/config/x86/cross-32

[PATCH v2 3/4] config: add arch 32-bit cross-compilation file

2024-09-06 Thread Bruce Richardson
Add a 32-bit cross file for x86 for Arch linux Signed-off-by: Bruce Richardson --- config/x86/cross-32bit-arch.ini | 22 ++ 1 file changed, 22 insertions(+) create mode 100644 config/x86/cross-32bit-arch.ini diff --git a/config/x86/cross-32bit-arch.ini b/config/x86/cross-32

[PATCH v2 4/4] devtools/test-meson-builds: use cross files for 32bit build

2024-09-06 Thread Bruce Richardson
When testing the 32-bit x86 build, use a cross-file rather than using args and pkgconfig environment variable. The advantage of using the cross-file is that the paths are saved across runs. Without this patch, while the '-m32' args settings are preserved between meson runs, the PKG_CONFIG_LIBDIR va

[PATCH] dts: add per-test-suite configuration

2024-09-06 Thread Luca Vizzarro
Allow test suites to be configured individually. Moreover enable them to implement their own custom configuration. This solution adds some new complexity to DTS, which is generated source code. In order to ensure strong typing, the test suites and their custom configurations need to be linked in t

Re: [RFC PATCH] devtools/test-meson-builds: use cross file for 32bit build

2024-09-06 Thread Bruce Richardson
On Wed, Sep 04, 2024 at 03:03:02PM +0100, Bruce Richardson wrote: > When testing the 32-bit x86 build on debian or ubuntu linux systems, use > the cross-file rather than using args and pkgconfig environment > variable. The advantage of using the cross-file is that the paths are > saved across runs.

Re: [PATCH v2 1/5] dts: add ability to send/receive multiple packets

2024-09-06 Thread Luca Vizzarro
On 09/08/2024 16:10, Jeremy Spewock wrote: +def match_all_packets( +self, expected_packets: list[Packet], received_packets: list[Packet] +) -> None: This is a very interesting approach to comparing what you expect to what you received. I hadn't seen counters used before but th

Re: [PATCH v2 1/5] dts: add ability to send/receive multiple packets

2024-09-06 Thread Luca Vizzarro
On 23/08/2024 11:17, Juraj Linkeš wrote: Is it worthwhile to log the missing packets? It's not necessary, as the received packets are logged elsewhere, but it would be convenient. On the other hand, it could just unnecessarily bloat logs. I considered it but as you said I think it may unecessa

Re: [PATCH v2 3/5] dts: add random packet generator

2024-09-06 Thread Luca Vizzarro
On 23/08/2024 12:58, Juraj Linkeš wrote: I believe this is to be used with a method that fills in the blanks of a passed packet (such as mac addresses). If so, Reviewed-by: Juraj Linkeš Yes, that's correct :D

Re: [PATCH v2 4/5] dts: add ability to start/stop testpmd ports

2024-09-06 Thread Luca Vizzarro
On 09/08/2024 16:13, Jeremy Spewock wrote: I tried to address this very same problem in the scatter expansion patch series but, admittedly, I like your approach better. There is one thing that Juraj and I discussed on that thread however that is probably worth noting here regarding verification o

Re: [PATCH v2 4/5] dts: add ability to start/stop testpmd ports

2024-09-06 Thread Luca Vizzarro
On 23/08/2024 13:16, Juraj Linkeš wrote: As Jeremy mentioned, adding the verify argument may be worthwhile, but maybe only if we actually identify a usecase where we wouldn't want to do the verification. Yeah, as I pointed out, it feels unlikely to pretend that they are started (or stopped).

Re: [PATCH v2 5/5] dts: add testpmd set ports queues

2024-09-06 Thread Luca Vizzarro
On 09/08/2024 16:14, Jeremy Spewock wrote: On Tue, Aug 6, 2024 at 8:49 AM Luca Vizzarro wrote: Add a facility to update the number of TX/RX queues during the runtime of testpmd. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework/remote_session/testpmd_shell.py | 1

[PATCH v2 0/2] dts: pf_smoke port

2024-09-06 Thread jspewock
From: Jeremy Spewock v2: * update dependencies and how the test suite uses them * use a unique src MAC on packets to find them in verbose output rather than checksums since using checksums isn't supported on all NICs * formatting fixes and doc-string updates Jeremy Spewock (2): dts: a

[PATCH v2 1/2] dts: add ability to modify number of queues on a port to testpmd

2024-09-06 Thread jspewock
From: Jeremy Spewock The ability to change the configuration of a port at runtime is a crucial aspect of DPDK. This patch adds both the steps required to modify the number of queues on a port at runtime and also the verification steps to ensure that the command behaved as expected. Depends-on: p

[PATCH v2 2/2] dts: add pf smoke testing suite

2024-09-06 Thread jspewock
From: Jeremy Spewock This patch adds a smoke testing suite for Physical Function features. The goal of this suite is to test some of the most basic features of DPDK on a physical function and bail out early if any of these features aren't supported as expected. Unlike DTS smoke tests, these ones

[RFC 0/4] RSS hash key generation

2024-09-06 Thread Vladimir Medvedkin
Currently there are 2 methods to get the RSS hash key. The first method is to randomly generate it. The second one is to use well known RSS hash keys. Both methods have drawbacks. The first method not always provides a good hash distribution. The second one does, but not for all ReTa sizes and not

[RFC 1/4] thash: add RSS hash key generation API

2024-09-06 Thread Vladimir Medvedkin
Currently the only way to have non static Toeplitz hash key is to generate it randomly. Such a key may not guarantee good packets distribution, especially if there are small number of flows. This patch adds stub implementation of the Toeplitz hash key generation function, which may improve Toeplit

[RFC 2/4] hash: add dynamic polynomial calculation

2024-09-06 Thread Vladimir Medvedkin
Current polynomial table has the following limitations: 1. It has polynomials up to degree 16 2. For each degree there are only 4 polynomials The above results in less entropy when generating Toeplitz hash key subsequences. This patch replaces the current static table approach with dynamic polyn

Re: [PATCH v2 5/5] dts: add testpmd set ports queues

2024-09-06 Thread Luca Vizzarro
On 23/08/2024 13:22, Juraj Linkeš wrote: On 6. 8. 2024 14:46, Luca Vizzarro wrote: Add a facility to update the number of TX/RX queues during the runtime of testpmd. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek ---   dts/framework/remote_session/testpmd_shell.py | 16 ++

[RFC 3/4] hash: implement RSS hash key generation API

2024-09-06 Thread Vladimir Medvedkin
This patch implements Toeplitz hash key generation function using the new polynomial generation function. Signed-off-by: Vladimir Medvedkin --- lib/hash/rte_thash.c | 23 ++- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/lib/hash/rte_thash.c b/lib/hash/rte_th

[RFC 4/4] test/thash: add tests for RSS key generation API

2024-09-06 Thread Vladimir Medvedkin
This patch adds tests for RSS key generation. In this test we measure distribution of hash LSBs for a given random tuple where only some part of bits is variable. At first we generate random hash key and measure the worst distribution for a given ReTa size value (RETA_SZ_LOG). Then we adjust the k

[PATCH] hash: fix thash lfsr initialization

2024-09-06 Thread Vladimir Medvedkin
Reverse polynomial for an LFSR was initialized improperly which could generate improper bit sequence in some situations. This patch implements proper polynomial reversing function. Fixes: 28ebff11c2dc ("hash: add predictable RSS") Cc: sta...@dpdk.org Signed-off-by: Vladimir Medvedkin --- lib/ha

[PATCH] fib: fix vector lookup

2024-09-06 Thread Vladimir Medvedkin
Vector lookup uses gather instructions which loads data in 4byte chunks. This could lead to out of bounds access at the end of the tbl24 in case of 1 or 2 byte entries if e.g. lookup is attempted for 255.255.255.255 in IPv4 case. This patch fixes potential out of bound access by gather instruction

[PATCH] fib: network byte order IPv4 lookup

2024-09-06 Thread Vladimir Medvedkin
Previously when running rte_fib_lookup IPv4 addresses must have been in host byte order. This patch adds a new flag RTE_FIB_FLAG_LOOKUP_BE that can be passed on fib create, which will allow to have IPv4 in network byte order on lookup. Signed-off-by: Vladimir Medvedkin --- app/test/test_fib.c

[PATCH] fib: implement RCU rule reclamation

2024-09-06 Thread Vladimir Medvedkin
Currently, for DIR24-8 algorithm, the tbl8 group is freed even though the readers might be using the tbl8 group entries. The freed tbl8 group can be reallocated quickly. As a result, lookup may be performed incorrectly. To address that, RCU QSBR is integrated for safe tbl8 group reclamation. Sign

[PATCH v1 0/3] dts: port vf_smoke to new DTS

2024-09-06 Thread jspewock
From: Jeremy Spewock The VF smoke testing suite in the old DTS framework had the same test cases as the PF smoke testing suite and, therefore, it makes sense to have the two test suites use the same testing functions. In this series the easiest way to do this was to simply parameterize what ports

[PATCH v1 1/3] dts: allow specifying ingress port in send_packets

2024-09-06 Thread jspewock
From: Jeremy Spewock In order to use VFs in the framework, methods for sending packets had to be modified so that they support choosing which ports to use when sending and receiving. This patch creates the same support for the send_packets method so that it can be used with VFs. Signed-off-by: J

[PATCH v1 2/3] dts: parameterize ports used in pf_smoke suite

2024-09-06 Thread jspewock
From: Jeremy Spewock Currently the pf_smoke testing suite only uses the default ports for sending and receiving packets. When looking at that suite in isolation, this is fine since its primary goal is to test the physical functions in the test run (which the defaults should represent). However, s

[PATCH v1 3/3] dts: add vf_smoke tests suite

2024-09-06 Thread jspewock
From: Jeremy Spewock VFs should be tested against the same criteria as PFs, therefore the smoke testing suite for VFs inherits the same test cases and testing coverage from the PF smoke testing suite. The primary difference between the two suites is that VF smoke initially creates virtual functio

[PATCH v4 1/1] dts: add methods for modifying MTU to testpmd shell

2024-09-06 Thread jspewock
From: Jeremy Spewock There are methods within DTS currently that support updating the MTU of ports on a node, but the methods for doing this in a linux session rely on the ip command and the port being bound to the kernel driver. Since test suites are run while bound to the driver for DPDK, there

[PATCH v4 0/1] dts: allow for updating MTU with testpmd

2024-09-06 Thread jspewock
From: Jeremy Spewock v4: * add dependency on port caching patch to avoid the need for the if-statement that was added in the last version. Jeremy Spewock (1): dts: add methods for modifying MTU to testpmd shell dts/framework/remote_session/testpmd_shell.py | 44 +++ 1 fil

Re: DPDK Summit Montreal - Schedule

2024-09-06 Thread Ferruh Yigit
On 9/6/2024 3:09 PM, Konstantin Ananyev wrote: > > >>> We will talk about the future of DPDK, the best userland networking >>> libraries >>> having an incredible hardware support from our large community. >>> It will be an opportunity to connect, learn and collaborate with developers >>> from ar

virtio: RSS support capa

2024-09-06 Thread Morten Brørup
Maxime, Chenbo, If the virtio PMD supports RSS, it should be announced in its capabilities. I think this should be added to virtio_dev_info_get(): if (host_features & (1ULL << VIRTIO_NET_F_RSS)) dev_info->rx_offload_capa |= RTE_ETH_RX_OFFLOAD_RSS_HASH; Med venlig hilsen

[PATCH] rcu: refactor rcu register/unregister functions

2024-09-06 Thread Doug Foster
This simplifies the implementation of rte_rcu_qsbr_thread_register() and rte_rcu_thread_unregister() functions. The simplified implementation is easier to read. Signed-off-by: Doug Foster Reviewed-by: Honnappa Nagarahalli Reviewed-by: Wathsala Vithanage --- .mailmap | 1 + lib/r

[PATCH 1/2] eal: enable CPPC support in power library

2024-09-06 Thread Wathsala Vithanage
Power library already supports Linux CPPC driver. Enable its use and fix the name of the CPPC driver name. Signed-off-by: Wathsala Vithanage Reviewed-by: Dhruv Tripathi --- .mailmap | 1 + lib/power/power_cppc_cpufreq.c | 2 +- lib/power/rte_power_pmd_mgmt.c | 11 ++-

[PATCH 2/2] eal: detect supported driver

2024-09-06 Thread Wathsala Vithanage
Check if the frequency scaling driver is supported before attempting to initialize. Signed-off-by: Wathsala Vithanage Reviewed-by: Dhruv Tripathi --- lib/power/power_acpi_cpufreq.c | 6 ++ lib/power/power_amd_pstate_cpufreq.c | 6 ++ lib/power/power_cppc_cpufreq.c | 6 ++

<    1   2