[DPDK/testpmd Bug 1451] [dpdk-24.07] dcf_lifecycle/dcf_with_acl_filter_03: operating system crash

2024-06-03 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1451 Bug ID: 1451 Summary: [dpdk-24.07] dcf_lifecycle/dcf_with_acl_filter_03: operating system crash Product: DPDK Version: 24.07 Hardware: x86 OS: Linux Sta

[V2 2/2] app/testpmd: introduce VXLAN-GBP and VXLAN-GPE fields

2024-06-03 Thread Gavin Li
After unification of VXLAN and all its extension protocols(VXLAN-GPE and VXLAN-GBP currently), all related RTE items should be specified after 'vxlan'. And it's user's responsibility to specify correct UDP port for the protocol to be matched. Below are the examples to match standard VXLAN, VXLAN-G

[V2 1/2] net: extend VXLAN header to support more extensions

2024-06-03 Thread Gavin Li
Currently, DPDK supports VXLAN and VXLAN-GPE with similar header structures and we are working on adding support for VXLAN-GBP which is another extension to VXLAN. More extension of VXLAN may be added in the future. VXLAN and VXLAN-GBP use the same UDP port(4789) while VXLAN-GPE uses a different o

[V2 0/2] net: extend VXLAN header to support more extensions

2024-06-03 Thread Gavin Li
In this patch series, all the VXLAN extension header will be merged with VXLAN as union if the overlapped field has different format among protocols. The existing VXLAN-GPE will be marked as deprecated and new extensions of VXLAN should be added to VXLAN instead of a new RTE item. RFC https://patc

Re: [Help] O-RAN Fronthaul CUS-U data structure implementation

2024-06-03 Thread Mattia Milani (Nokia)
Hi Lincoln, Thank you very much! I'll keep an eye on it 😉 All the best, Mattia From: Lincoln Lavoie Sent: Monday, June 3, 2024 1:58 PM To: Mattia Milani (Nokia) Cc: dev@dpdk.org Subject: Re: [Help] O-RAN Fronthaul CUS-U data structure implementation CAUTION:

[PATCH 2/2] eal: add Arm WFET in power management intrinsics

2024-06-03 Thread Wathsala Vithanage
Wait for event with timeout (WFET) puts the CPU in a low power mode and stays there until an event is signalled (SEV), loss of an exclusive monitor or a timeout. WFET is enabled selectively by checking FEAT_WFxT in Linux auxiliary vector. If FEAT_WFxT is not available power management will fallback

[PATCH 1/2] config/arm: adds Arm Neoverse N3 SoC

2024-06-03 Thread Wathsala Vithanage
Add Arm Neoverse N3 part number to build configuration. Signed-off-by: Wathsala Vithanage Reviewed-by: Dhruv Tripathi Reviewed-by: Jack Bond-Preston --- config/arm/meson.build | 22 +- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/config/arm/meson.build b/c

[PATCH] net/mlx5: support jump in meter hierarchy

2024-06-03 Thread Shun Hao
Currently in meter hierarchy, only meter action is supported for green and yellow policy flow. This patch adds support of jump action for green or yellow policy flow. Fixes: 96ca87da4f46 ("net/mlx5: validate yellow meter action") Cc: sta...@dpdk.org Signed-off-by: Shun Hao Acked-by: Suanming Mou

[PATCH] net/mlx5: support jump in meter hierarchy

2024-06-03 Thread Shun Hao
Currently in meter hierarhcy, only meter action is supported for green and yellow policy flow. This patch adds support of jump action for green or yellow policy flow. Fixes: 96ca87da4f46 ("net/mlx5: validate yellow meter action") Cc: sta...@dpdk.org Signed-off-by: Shun Hao Acked-by: Suanming Mou

Re: [PATCH v21 12/14] log: add optional support of syslog

2024-06-03 Thread Stephen Hemminger
On Mon, 3 Jun 2024 17:45:00 -0700 Stephen Hemminger wrote: > Log to syslog only if option is specified. And if syslog is used > then normally only log to syslog, don't duplicate output. > Also enables syslog support on FreeBSD. > > Signed-off-by: Stephen Hemminger > --- Ignore checkpatch comp

Re: [PATCH v21 11/14] log: add timestamp option

2024-06-03 Thread Stephen Hemminger
On Mon, 3 Jun 2024 17:44:59 -0700 Stephen Hemminger wrote: > When debugging driver or startup issues, it is useful to have > a timestamp on each message printed. The messages in syslog > already have a timestamp, but often syslog is not available > during testing. > > There are multiple timesta

Re: [PATCH v21 02/14] windows: make getopt functions have const properties

2024-06-03 Thread Stephen Hemminger
On Mon, 3 Jun 2024 17:44:50 -0700 Stephen Hemminger wrote: > Having different prototypes on different platforms can lead > to lots of unnecessary workarounds. Looks like the version of > getopt used from windows was based on an older out of date > version from FreeBSD. > > This patch changes g

Re: [PATCH v21 09/14] log: drop syslog support, and make code common

2024-06-03 Thread Stephen Hemminger
On Mon, 3 Jun 2024 17:44:57 -0700 Stephen Hemminger wrote: > This patch makes the log setup code common across all platforms. > > Drops syslog support for now, will come back in later patch. > > Signed-off-by: Stephen Hemminger Ignore checkpatch complaints on this patch. It is better for the

[PATCH v21 14/14] log: colorize log output

2024-06-03 Thread Stephen Hemminger
Like dmesg, colorize the log output (unless redirected to file). Timestamp is green, the subsystem is in yellow and the message is red if urgent, boldface if an error, and normal for info and debug messages. Signed-off-by: Stephen Hemminger --- app/test/test_eal_flags.c | 24 + do

[PATCH v21 13/14] log: add support for systemd journal

2024-06-03 Thread Stephen Hemminger
If DPDK application is being run as a systemd service, then it can use the journal protocol which allows putting more information in the log such as priority and other information. The use of journal protocol is automatically detected and handled. Rather than having a dependency on libsystemd, ju

[PATCH v21 12/14] log: add optional support of syslog

2024-06-03 Thread Stephen Hemminger
Log to syslog only if option is specified. And if syslog is used then normally only log to syslog, don't duplicate output. Also enables syslog support on FreeBSD. Signed-off-by: Stephen Hemminger --- app/test/test_eal_flags.c | 5 +- doc/guides/linux_gsg/linux_eal_parameters

[PATCH v21 11/14] log: add timestamp option

2024-06-03 Thread Stephen Hemminger
When debugging driver or startup issues, it is useful to have a timestamp on each message printed. The messages in syslog already have a timestamp, but often syslog is not available during testing. There are multiple timestamp formats similar to Linux dmesg. The default is time relative since star

[PATCH v21 10/14] log: add hook for printing log messages

2024-06-03 Thread Stephen Hemminger
This is useful for when decorating log output for console or journal. Provide basic version in this patch. Signed-off-by: Stephen Hemminger --- lib/log/log.c | 7 ++- lib/log/log_private.h | 9 + 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 lib/log/log

[PATCH v21 09/14] log: drop syslog support, and make code common

2024-06-03 Thread Stephen Hemminger
This patch makes the log setup code common across all platforms. Drops syslog support for now, will come back in later patch. Signed-off-by: Stephen Hemminger --- app/test/test_eal_flags.c | 11 ++- lib/eal/common/eal_common_options.c | 3 - lib/log/log.c | 4

[PATCH v21 08/14] eal: initialize log before everything else

2024-06-03 Thread Stephen Hemminger
In order for all log messages (including CPU mismatch) to come out through the logging library, it must be initialized as early in rte_eal_init() as possible on all platforms. Where it was done before was likely historical based on the support of non-OS isolated CPU's which required a shared memor

[PATCH v21 07/14] log: move handling of syslog facility out of eal

2024-06-03 Thread Stephen Hemminger
The syslog facility property is better handled in lib/log rather than in eal. This also allows for changes to what syslog flag means in later steps. Signed-off-by: Stephen Hemminger --- lib/eal/common/eal_common_options.c | 51 ++--- lib/eal/freebsd/eal.c |

[PATCH v21 06/14] eal: change rte_exit() output to match rte_log()

2024-06-03 Thread Stephen Hemminger
The rte_exit() output format confuses the timestamp and coloring options. Change it to use be a single line with proper prefix. Before: [ 0.006481] EAL: Error - exiting with code: 1 Cause: [ 0.006489] Cannot init EAL: Permission denied After: [ 0.006238] EAL: Error - exiting with co

[PATCH v21 05/14] eal: do not duplicate rte_init_alert() messages

2024-06-03 Thread Stephen Hemminger
The message already goes through logging, and does not need to be printed on stderr. Message level should be ALERT to match function name. Signed-off-by: Stephen Hemminger Acked-by: Tyler Retzlaff --- lib/eal/freebsd/eal.c | 3 +-- lib/eal/linux/eal.c | 3 +-- 2 files changed, 2 insertions(+)

[PATCH v21 04/14] eal: make eal_log_level_parse common

2024-06-03 Thread Stephen Hemminger
The code to parse for log-level option should be same on all OS variants. Signed-off-by: Stephen Hemminger Acked-by: Tyler Retzlaff --- lib/eal/common/eal_common_options.c | 45 + lib/eal/common/eal_options.h| 1 + lib/eal/freebsd/eal.c | 42 --

[PATCH v21 03/14] windows: add os shim for localtime_r

2024-06-03 Thread Stephen Hemminger
Windows does not have localtime_r but it does have a similar function that can be used instead. Signed-off-by: Stephen Hemminger Acked-by: Tyler Retzlaff --- lib/eal/windows/include/rte_os_shim.h | 10 ++ 1 file changed, 10 insertions(+) diff --git a/lib/eal/windows/include/rte_os_shim

[PATCH v21 02/14] windows: make getopt functions have const properties

2024-06-03 Thread Stephen Hemminger
Having different prototypes on different platforms can lead to lots of unnecessary workarounds. Looks like the version of getopt used from windows was based on an older out of date version from FreeBSD. This patch changes getopt, getopt_long, etc to have the same const attributes as Linux and Fre

[PATCH v21 01/14] maintainers: add for log library

2024-06-03 Thread Stephen Hemminger
"You touch it you own it" Add myself as maintainer for log library. Signed-off-by: Stephen Hemminger Acked-by: Tyler Retzlaff --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index c9adff9846..92e502c64b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@

[PATCH v21 00/14] Log library unification ane enhancements

2024-06-03 Thread Stephen Hemminger
Improvements and unification of logging library. This version works on all platforms: Linux, Windows and FreeBSD. This is update to rework patch set. It adds several new features to the console log output. * Putting a timestamp on console output which is useful for analyzing performance of

Deadline extended by two days - CFP for DPDK APAC Summit - Bangkok - July 9-10, 2024

2024-06-03 Thread Nathan Southern
Dear DPDK Tech Board Members and Community at Large, As you may already know, we've extended the CFP for next month's Bangkok summit by *two additional days*. It will now close at 11:59pm Bangkok time on Wednesday June 5 - which is: 9:59am Pacific Time Wed/12:59pm Eastern Time Wed/6:59pm Central

[PATCH v2 1/5] crypto/openssl: fix GCM and CCM thread unsafe ctxs

2024-06-03 Thread Jack Bond-Preston
Commit 67ab783b5d70 ("crypto/openssl: use local copy for session contexts") introduced a fix for concurrency bugs which could occur when using one OpenSSL PMD session across multiple cores simultaneously. The solution was to clone the EVP contexts per-buffer to avoid them being used concurrently.

[PATCH v2 2/5] crypto/openssl: only init 3DES-CTR key + impl once

2024-06-03 Thread Jack Bond-Preston
Currently the 3DES-CTR cipher context is initialised for every buffer, setting the cipher implementation and key - even though for every buffer in the session these values will be the same. Change to initialising the cipher context once, before any buffers are processed, instead. Throughput perfo

[PATCH v2 0/5] OpenSSL PMD Optimisations

2024-06-03 Thread Jack Bond-Preston
v2: * Fixed missing * in patch 4 causing compilation failures. --- The current implementation of the OpenSSL PMD has numerous performance issues. These revolve around certain operations being performed on a per buffer/packet basis, when they in fact could be performed less often - usually just du

[PATCH v2 3/5] crypto/openssl: per-qp cipher context clones

2024-06-03 Thread Jack Bond-Preston
Currently EVP_CIPHER_CTXs are allocated, copied to (from openssl_session), and then freed for every cipher operation (ie. per packet). This is very inefficient, and avoidable. Make each openssl_session hold an array of pointers to per-queue-pair cipher context copies. These are populated on first

[PATCH v2 5/5] crypto/openssl: only set cipher padding once

2024-06-03 Thread Jack Bond-Preston
Setting the cipher padding has a noticeable performance footprint, and it doesn't need to be done for every call to process_openssl_cipher_{en,de}crypt(). Setting it causes OpenSSL to set it on every future context re-init. Thus, for every buffer after the first one, the padding is being set twice.

[PATCH v2 4/5] crypto/openssl: per-qp auth context clones

2024-06-03 Thread Jack Bond-Preston
Currently EVP auth ctxs (e.g. EVP_MD_CTX, EVP_MAC_CTX) are allocated, copied to (from openssl_session), and then freed for every auth operation (ie. per packet). This is very inefficient, and avoidable. Make each openssl_session hold an array of structures, containing pointers to per-queue-pair ci

[PATCH v2 2/5] crypto/openssl: only init 3DES-CTR key + impl once

2024-06-03 Thread Jack Bond-Preston
Currently the 3DES-CTR cipher context is initialised for every buffer, setting the cipher implementation and key - even though for every buffer in the session these values will be the same. Change to initialising the cipher context once, before any buffers are processed, instead. Throughput perfo

[PATCH v2 1/5] crypto/openssl: fix GCM and CCM thread unsafe ctxs

2024-06-03 Thread Jack Bond-Preston
Commit 67ab783b5d70 ("crypto/openssl: use local copy for session contexts") introduced a fix for concurrency bugs which could occur when using one OpenSSL PMD session across multiple cores simultaneously. The solution was to clone the EVP contexts per-buffer to avoid them being used concurrently.

[PATCH v2 4/5] crypto/openssl: per-qp auth context clones

2024-06-03 Thread Jack Bond-Preston
Currently EVP auth ctxs (e.g. EVP_MD_CTX, EVP_MAC_CTX) are allocated, copied to (from openssl_session), and then freed for every auth operation (ie. per packet). This is very inefficient, and avoidable. Make each openssl_session hold an array of structures, containing pointers to per-queue-pair ci

[PATCH v2 0/5] OpenSSL PMD Optimisations

2024-06-03 Thread Jack Bond-Preston
v2: * Fixed missing * in patch 4 causing compilation failures. --- The current implementation of the OpenSSL PMD has numerous performance issues. These revolve around certain operations being performed on a per buffer/packet basis, when they in fact could be performed less often - usually just du

[PATCH v2 5/5] crypto/openssl: only set cipher padding once

2024-06-03 Thread Jack Bond-Preston
Setting the cipher padding has a noticeable performance footprint, and it doesn't need to be done for every call to process_openssl_cipher_{en,de}crypt(). Setting it causes OpenSSL to set it on every future context re-init. Thus, for every buffer after the first one, the padding is being set twice.

[PATCH v2 3/5] crypto/openssl: per-qp cipher context clones

2024-06-03 Thread Jack Bond-Preston
Currently EVP_CIPHER_CTXs are allocated, copied to (from openssl_session), and then freed for every cipher operation (ie. per packet). This is very inefficient, and avoidable. Make each openssl_session hold an array of pointers to per-queue-pair cipher context copies. These are populated on first

Re: Depends-on

2024-06-03 Thread Aaron Conole
Patrick Robb writes: > * > Hi all, > > Found my way to this thread based on the CI testing call yesterday, as I am > about to put > together the blurb for the dpdk website testing page that documents support > (or lack > thereof) for depends-on in CI. Thanks. > On Wed, May 29, 2024 at 10:40 

Re: [PATCH] app/testpmd: support retrying device stop

2024-06-03 Thread Stephen Hemminger
On Sun, 2 Jun 2024 13:30:35 +0300 Maayan Kashani wrote: > From: Dariusz Sosnowski > > In some cases rte_eth_dev_stop() can fail with EBUSY error code meaning > that port cannot be stopped, because of other resources referencing this > port and port must be stopped again after these resources ar

Re: [RFC v3 5/5] eal: provide option to use compiler memcpy instead of RTE

2024-06-03 Thread Mattias Rönnblom
On 2024-06-02 22:58, Morten Brørup wrote: From: Mattias Rönnblom [mailto:mattias.ronnb...@ericsson.com] Sent: Sunday, 2 June 2024 14.39 Provide build option to have functions in delegate to the standard compiler/libc memcpy(), instead of using the various custom DPDK, handcrafted, per-architect

Re: [PATCH 4/5] crypto/openssl: per-qp auth context clones

2024-06-03 Thread Jack Bond-Preston
On 03/06/2024 17:01, Jack Bond-Preston wrote: diff --git a/drivers/crypto/openssl/openssl_pmd_private.h b/drivers/crypto/openssl/openssl_pmd_private.h index bad7dcf2f5..c3740ccc62 100644 --- a/drivers/crypto/openssl/openssl_pmd_private.h +++ b/drivers/crypto/openssl/openssl_pmd_private.h @@ -80,

[PATCH v3 06/17] net/ntnic: add interfaces for PMD driver modules

2024-06-03 Thread Serhii Iliushyk
Add ntnic base interfaces for: link, NIM, sensors, statistics. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/nt4ga_link.h| 132 + drivers/net/ntnic/include/ntnic_dbs.h | 356 drivers/net/ntnic/include/ntnic_nim.h | 160 ++ .../include/n

[PATCH v3 13/17] net/ntnic: add adapter initialization

2024-06-03 Thread Serhii Iliushyk
Add ntnic HW interfaces (PCIe, I2C) API. Signed-off-by: Serhii Iliushyk --- v2: * Fixed WARNING:TYPO_SPELLING v3: * Fix meson file: list of source files --- drivers/net/ntnic/adapter/nt4ga_pci_ta_tg.c | 550 ++ drivers/net/ntnic/adapter/nt4ga_tfg.c | 69 +++ drivers/ne

[PATCH v3 16/17] net/ntnic: add link 100G module

2024-06-03 Thread Serhii Iliushyk
Add ntnic 100G link support. Signed-off-by: Serhii Iliushyk --- v2: * Fixed WARNING:REPEATED_WORD v3: * Remove pthread and left rte_thread --- drivers/net/ntnic/include/nt4ga_link.h| 8 + .../link_mgmt/link_100g/nt4ga_link_100g.c | 840 .../link_mgmt/link_100g/nt4g

[PATCH v3 17/17] net/ntnic: add NIM module

2024-06-03 Thread Serhii Iliushyk
Includes support for NIM QSFP and QSFP+. Signed-off-by: Serhii Iliushyk v3: * Fix meson file: list of source files --- drivers/net/ntnic/meson.build | 13 + drivers/net/ntnic/nim/i2c_nim.c | 1359 + drivers/net/ntnic/nim/i2c_nim.h |

[PATCH v3 09/17] net/ntnic: add VFIO module

2024-06-03 Thread Serhii Iliushyk
Add ntnic VFIO functionality. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/ntnic_vfio.c | 232 + drivers/net/ntnic/ntnic_vfio.h | 21 +++ 2 files changed, 253 insertions(+) create mode 100644 drivers/net/ntnic/ntnic_vfio.c create mode 100644 drivers/net

[PATCH v3 08/17] net/ntnic: add interfaces for flow API engine

2024-06-03 Thread Serhii Iliushyk
Add ntnic basic flow filter functionality. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/flow_api.h | 89 ++ drivers/net/ntnic/include/flow_api_actions.h | 13 + drivers/net/ntnic/include/flow_api_engine.h | 46 + drivers/net/ntnic/include/flow_filter.h | 15

[PATCH v3 14/17] net/ntnic: add adapter initialization API

2024-06-03 Thread Serhii Iliushyk
Add ntnic adapter initialization API. Signed-off-by: Serhii Iliushyk --- v3: * Fix meson file: list of source files * Remove pthread and left rte_thread --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 497 ++ drivers/net/ntnic/meson.build | 1 + 2 files changed,

[PATCH v3 04/17] net/ntnic: add FPGA model implementation

2024-06-03 Thread Serhii Iliushyk
Add ntnic query FPGA functionality. Signed-off-by: Serhii Iliushyk --- .../net/ntnic/nthw/model/nthw_fpga_model.c| 1218 + .../net/ntnic/nthw/model/nthw_fpga_model.h| 247 2 files changed, 1465 insertions(+) create mode 100644 drivers/net/ntnic/nthw/model/nthw_fpga

[PATCH v3 11/17] net/ntnic: add ethdev and makes PMD available

2024-06-03 Thread Serhii Iliushyk
Add ethdev to ntnic. Signed-off-by: Serhii Iliushyk --- v2: * Fixed error on -Wformat-nonliteral * Fixed WARNING:TYPO_SPELLING * Fixed commented lines in meson file * Fixed unused functions v3: * Remove experimental API flag * Remove pthread and left rte_thread --- .mailmap

[PATCH v3 15/17] net/ntnic: add link management module

2024-06-03 Thread Serhii Iliushyk
Add ntnic link control. Signed-off-by: Serhii Iliushyk --- v2: * Fixed unused header --- drivers/net/ntnic/link_mgmt/nt4ga_link.c | 263 +++ 1 file changed, 263 insertions(+) create mode 100644 drivers/net/ntnic/link_mgmt/nt4ga_link.c diff --git a/drivers/net/ntnic/link_mgm

[PATCH v3 10/17] net/ntnic: add Logs and utilities implementation

2024-06-03 Thread Serhii Iliushyk
Add ntnic logging API and utilities. Signed-off-by: Serhii Iliushyk --- v2: * Fixed unused header * Fixed error on -Wformat-nonliteral --- drivers/net/ntnic/ntlog/include/ntlog.h| 162 + drivers/net/ntnic/ntlog/ntlog.c| 111 ++ drivers/net/ntnic/nt

[PATCH v3 07/17] net/ntnic: add API for PMD driver modules

2024-06-03 Thread Serhii Iliushyk
Add API for ntnic PMD driver modules, thus allow modules to be enabled/disabled. Signed-off-by: Serhii Iliushyk --- v2: * Fixed WARNING:TYPO_SPELLING --- drivers/net/ntnic/dpdk_mod_reg.c | 64 drivers/net/ntnic/dpdk_mod_reg.h | 167 ++ drivers/net/ntnic/ntnic_mod_reg.c | 382

[PATCH v3 05/17] net/ntnic: add NTNIC adapter interfaces

2024-06-03 Thread Serhii Iliushyk
Add ntnic adapter interfaces structures. Signed-off-by: Serhii Iliushyk --- v2: * Fixed unused header. v3: * Remove pthread and left rte_thread --- .../ntnic/include/clock_profiles_structs.h| 69 +++ .../net/ntnic/include/common_adapter_defs.h | 15 ++ drivers/net/ntnic/include/fpga_

[PATCH v3 03/17] net/ntnic: add interfaces for platform functionality

2024-06-03 Thread Serhii Iliushyk
Add ntnic structures and prototypes for platform interfaces. Signed-off-by: Serhii Iliushyk --- .../nthw/core/include/nthw_clock_profiles.h | 20 ++ .../net/ntnic/nthw/core/include/nthw_core.h | 32 +++ .../net/ntnic/nthw/core/include/nthw_fpga.h | 54 + .../ntnic/nthw/core/include/

[PATCH v3 02/17] net/ntnic: add core platform functionality

2024-06-03 Thread Serhii Iliushyk
Add ntnic platform interfaces for FPGA registers Signed-off-by: Serhii Iliushyk --- v3: * Fixed TYPO_SPELLING --- drivers/net/ntnic/nthw/nthw_drv.h | 94 +++ drivers/net/ntnic/nthw/nthw_epp.c | 226 ++ drivers/net/ntnic/nthw/nthw_epp.h | 92 +++ drivers/net/ntnic

Re: [PATCH 1/5] crypto/openssl: fix GCM and CCM thread unsafe ctxs

2024-06-03 Thread Jack Bond-Preston
On 03/06/2024 17:01, Jack Bond-Preston wrote: + EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); + EVP_CIPHER_CTX_copy(ctx, sess->cipher.ctx); + This, and other patches in the set, are throwing a checkpatch error: _coding style issues_ ERROR:SPACING: need consistent spacing around '*

[PATCH 5/5] crypto/openssl: only set cipher padding once

2024-06-03 Thread Jack Bond-Preston
Setting the cipher padding has a noticeable performance footprint, and it doesn't need to be done for every call to process_openssl_cipher_{en,de}crypt(). Setting it causes OpenSSL to set it on every future context re-init. Thus, for every buffer after the first one, the padding is being set twice.

[PATCH 4/5] crypto/openssl: per-qp auth context clones

2024-06-03 Thread Jack Bond-Preston
Currently EVP auth ctxs (e.g. EVP_MD_CTX, EVP_MAC_CTX) are allocated, copied to (from openssl_session), and then freed for every auth operation (ie. per packet). This is very inefficient, and avoidable. Make each openssl_session hold an array of structures, containing pointers to per-queue-pair ci

[PATCH 3/5] crypto/openssl: per-qp cipher context clones

2024-06-03 Thread Jack Bond-Preston
Currently EVP_CIPHER_CTXs are allocated, copied to (from openssl_session), and then freed for every cipher operation (ie. per packet). This is very inefficient, and avoidable. Make each openssl_session hold an array of pointers to per-queue-pair cipher context copies. These are populated on first

[PATCH 1/5] crypto/openssl: fix GCM and CCM thread unsafe ctxs

2024-06-03 Thread Jack Bond-Preston
Commit 67ab783b5d70 ("crypto/openssl: use local copy for session contexts") introduced a fix for concurrency bugs which could occur when using one OpenSSL PMD session across multiple cores simultaneously. The solution was to clone the EVP contexts per-buffer to avoid them being used concurrently.

[PATCH 2/5] crypto/openssl: only init 3DES-CTR key + impl once

2024-06-03 Thread Jack Bond-Preston
Currently the 3DES-CTR cipher context is initialised for every buffer, setting the cipher implementation and key - even though for every buffer in the session these values will be the same. Change to initialising the cipher context once, before any buffers are processed, instead. Throughput perfo

[PATCH 0/5] OpenSSL PMD Optimisations

2024-06-03 Thread Jack Bond-Preston
The current implementation of the OpenSSL PMD has numerous performance issues. These revolve around certain operations being performed on a per buffer/packet basis, when they in fact could be performed less often - usually just during initialisation. [1/5]: fix GCM and CCM thread unsafe ctxs

Re: zxdh: add zxdh poll mode driver

2024-06-03 Thread Stephen Hemminger
On Mon, 3 Jun 2024 19:28:57 +0800 (CST) wrote: > +Prerequisites > +- > + > +This PMD driver need NPSDK library for system initialization and allocation > of resources. > +Communication between PMD and kernel modules is mediated by zxdh Kernel > modules. > +The NPSDK library and zxdh

Re: [RFC PATCH v2] dts: skip test cases based on capabilities

2024-06-03 Thread Nicholas Pratte
I was able to use this implementation on the in-development jumboframes suite, setting restrictions on the required link speeds of NICs and using this as a requirement to run all test cases. While the framework you've developed is intuitive for true/false capabilities, this may not be the case for

Re: [PATCH] net/mlx5: fix flow discover IPv6 traffic class support issue

2024-06-03 Thread Raslan Darawsheh
Hi, From: Minggang(Gavin) Li Sent: Thursday, May 30, 2024 6:42 AM To: Matan Azrad; Slava Ovsiienko; Ori Kam; NBU-Contact-Thomas Monjalon (EXTERNAL); Dariusz Sosnowski; Suanming Mou Cc: dev@dpdk.org; Raslan Darawsheh; sta...@dpdk.org Subject: [PATCH] net/mlx5: fix flow discover IPv6 traffic class

Re: [PATCH] net/mlx5: break resource release forever loop

2024-06-03 Thread Raslan Darawsheh
Hi, From: Alexander Kozyrev Sent: Thursday, May 30, 2024 12:46 AM To: dev@dpdk.org Cc: sta...@dpdk.org; Raslan Darawsheh; Slava Ovsiienko; Matan Azrad; Dariusz Sosnowski; Bing Zhao; Ori Kam; Suanming Mou Subject: [PATCH] net/mlx5: break resource release forever loop There is a loop inside the f

Re: [PATCH] net/mlx5: support HW flag action

2024-06-03 Thread Raslan Darawsheh
Hi, From: Shun Hao Sent: Tuesday, May 28, 2024 12:43 PM To: Slava Ovsiienko; Matan Azrad; Ori Kam; Dariusz Sosnowski; Suanming Mou Cc: dev@dpdk.org; Raslan Darawsheh Subject: [PATCH] net/mlx5: support HW flag action The HW flag action is supported by adding the tag to packet, with the default ta

Re: [Help] O-RAN Fronthaul CUS-U data structure implementation

2024-06-03 Thread Lincoln Lavoie
Hi Mattia, Yes, I think there is a plan to push the training (at least the presentation parts) up to the site https://gitlab.eurecom.fr/oai/trainings The Teams meeting was recorded, but there might be some post processing required. There is a lot of other good information in the other sessions, b

[PATCH v3 6/7] net/mlx5/hws: bwc - reorg rule resize struct

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik Reorganize struct mlx5dr_rule_resize_info fields to reduce its size in memory. Signed-off-by: Yevgeny Kliteynik --- drivers/net/mlx5/hws/mlx5dr_rule.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_rule.h b/drivers/n

[PATCH v3 7/7] net/mlx5/hws: bwc - fix deleting action stes

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik If resized rule is deleted, the delete process also includes clearing the rule's resize_info. The problem is, this resize_info contains info on the action STEs that are freed onle when the completion of rule deletion received. This means that resize_info should be freed on

[PATCH v3 5/7] net/mlx5/hws: bwc - go through all the resized matchers

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik When destroying resizable matcher, we iterate through the list of previous src matchers and free all their action_ste resources. Now that we're supporting growing action template sizes, we also need to support a case when each new dst matcher that we resize into might have

[PATCH v3 4/7] net/mlx5/hws: bwc - abort rehash on completion with error

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik If during rehash there is a completion with error on moving rule to a new matcher, abort the rehash and return error. Signed-off-by: Yevgeny Kliteynik --- drivers/net/mlx5/hws/mlx5dr_bwc.c | 25 ++--- 1 file changed, 18 insertions(+), 7 deletions(-)

[PATCH v3 3/7] net/mlx5/hws: bwc - adding rules with larger action template

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik Current BWC implementation doesn't support a case when a rule is added with AT that requires more action STEs than any other AT that already exists on this matcher. This patch adds this support: if such AT is required, we will add the new AT and do full rehash to a new mat

[PATCH v3 2/7] net/mlx5/hws: bwc - make burst threshold dynamic

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik BWC rules rehash process has burst threshold, where the rule requires completion. This threshold was constant number, and it can cause rehash fail if this threshold is actually bigger than the queue size - the queue would end up full. This patch fixes the threshold to be d

[PATCH v3 1/7] net/mlx5/hws: fix bug in matcher disconnect error flow

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik If error happens during disconnect of the first matcher in the list, the matcher should be reconnected back as the first matcher. Fixes: b81f95ca770d ("net/mlx5/hws: support default miss table") Cc: sta...@dpdk.org Signed-off-by: Yevgeny Kliteynik --- drivers/net/mlx5/h

[PATCH v3 4/4] net/mlx5: clean up TODO comments

2024-06-03 Thread Maayan Kashani
review and cleanup unneeded TODO comments. Signed-off-by: Maayan Kashani --- drivers/net/mlx5/mlx5_flow_hw.c | 32 +--- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c index 61b6a71bbf..d

[PATCH v3 3/4] net/mlx5: set encap as shared action

2024-06-03 Thread Maayan Kashani
In current implementation, in non template mode, encap action is not set as non shared(according to given masks). By masking the relevant fields, encap is now used as shared. decap remained unshared and cannot be shared according to current implementation. Optimize encap action mask initialization

[PATCH v3 2/4] net/mlx5: set modify header as shared action

2024-06-03 Thread Maayan Kashani
In current implementation, in non template mode, modify header action is not set as always shared. Align to HWS implementation, setting modify header action as always shared. Optimize mask initialization. Signed-off-by: Maayan Kashani --- drivers/net/mlx5/mlx5_flow.h| 3 -- drivers/net/mlx5

[PATCH v3 1/4] net/mlx5: reorganize main structures

2024-06-03 Thread Maayan Kashani
Reorganize rte_flow_hw and rte_flow_nt2hws structures for better performance, and removed packed. Signed-off-by: Maayan Kashani --- drivers/net/mlx5/mlx5_flow.h | 26 -- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers

[PATCH v3 6/6] net/mlx5: support FDB in non-template mode

2024-06-03 Thread Maayan Kashani
From: Gregory Etelson Support non-template flows API in FDB mode: dpdk-testpmd -a $PCI,dv_flow_en=2,representor=vf0-1 -- -i testpmd> flow create 0 group 0 transfer \ pattern eth / end \ actions count / drop / end Signed-off-by: Gregory Etelson --- drivers/net/mlx5

[PATCH v3 5/6] net/mlx5: update HWS ASO actions validation

2024-06-03 Thread Maayan Kashani
From: Gregory Etelson HWS ASO actions validation required PMD to allocate resources during the port configuration, before the action validation was called. That approach does not work in the HWS non-template setup, because non-template setup does not have explicit port configuration procedure an

[PATCH v3 4/6] net/mlx5: update ASO resources in non-template setup

2024-06-03 Thread Maayan Kashani
From: Gregory Etelson Non-template PMD implementation allocates ASO flow actions resources on-demand. Current PMD implementation iterated over actions array in search for actions that required ASO resources allocations. The patch replaced the iteration with actions flags bitmap queries. Signed

[PATCH v3 1/6] net/mlx5: update NTA rule pattern and actions flags

2024-06-03 Thread Maayan Kashani
From: Gregory Etelson Move pattern flags bitmap to flow_hw_list_create. Create actions flags bitmap in flow_hw_list_create. PMD uses pattern and actions bitmaps for direct queries instead of iterating arrays. Signed-off-by: Gregory Etelson --- drivers/net/mlx5/mlx5_flow_hw.c | 147 +++

[PATCH v3 3/6] net/mlx5: support indirect actions in non-template setup

2024-06-03 Thread Maayan Kashani
From: Gregory Etelson Add support for the RSS, AGE, COUNT and CONNTRACK indirect flow actions for the non-template flow rules. Signed-off-by: Gregory Etelson --- drivers/net/mlx5/mlx5_flow_hw.c | 111 +--- 1 file changed, 89 insertions(+), 22 deletions(-) diff --gi

[PATCH v3 2/6] net/mlx5: support RSS expansion in non-template HWS setup

2024-06-03 Thread Maayan Kashani
From: Gregory Etelson The MLX5 PMD expands flow rule with the RSS action in the non-template environment. The patch adds RSS flow rule expansion for legacy flow rules in the template setup. Signed-off-by: Gregory Etelson --- drivers/net/mlx5/hws/mlx5dr_definer.c | 2 + drivers/net/mlx5/meso

[PATCH v3 11/11] net/mlx5: initial design changes

2024-06-03 Thread Maayan Kashani
Change flow_drv_list_create/destroy to mlx5_flow_list_create/destroy. Remove resource release function inlining. Check number of queues in template mode in hw configure function. Use user priority to calculate matcher priority. Signed-off-by: Maayan Kashani --- drivers/net/mlx5/mlx5_flow.c|

[PATCH v3 10/11] net/mlx5: use non const max number for ASO actions

2024-06-03 Thread Maayan Kashani
For ASO max allocations in non-template mode, Read FW capabilities instead of using consts. Signed-off-by: Maayan Kashani --- drivers/net/mlx5/mlx5.h| 17 - drivers/net/mlx5/mlx5_flow_hw.c| 13 + drivers/net/mlx5/mlx5_flow_meter.c | 25

[PATCH v3 09/11] net/mlx5: support bulk actions in non template mode

2024-06-03 Thread Maayan Kashani
Add support for encap/decap/modify header action for non template API. Save 1 action per bulk according to action data. Reuse action if possible. Store actions same as for SWS today, use same key structure. Signed-off-by: Maayan Kashani --- drivers/net/mlx5/mlx5_flow.h| 44 -- drivers/

[PATCH v3 08/11] common/mlx5: read connection tracking attributes

2024-06-03 Thread Maayan Kashani
Need to read maximum connection tracking objects from HCA attributes. Signed-off-by: Maayan Kashani --- drivers/common/mlx5/mlx5_devx_cmds.c | 3 +++ drivers/common/mlx5/mlx5_devx_cmds.h | 1 + 2 files changed, 4 insertions(+) diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/

[PATCH v3 07/11] net/mlx5: abstract action handling and enable reconfigure

2024-06-03 Thread Maayan Kashani
reuse HWS actions translation code in order to create the actions for lower layer. All actions are handled as non masked. Therefore, will be translated in the rule construct phase shared with the template code and not during the action template translate. Currently there is no option to reconfigur

[PATCH v3 01/11] net/mlx5: initial design of non template to hws

2024-06-03 Thread Maayan Kashani
Implement the frame and needed building blocks for non template to hws API's. Added validate, list_create and list_destroy to mlx5_flow_hw_drv_ops. Rename old list_create/list_destroy functions to legacy_* and added a call from verbs/dv ops to the legacy functions. Updated rte_flow_hw as needed.

[PATCH v3 05/11] net/mlx5: add ASO actions support to non-template mode

2024-06-03 Thread Maayan Kashani
This patch adds counter, connection tracking, meter and age actions support to non-template mode. For CT, counter and meter: if no previous allocation was handled by hw configure routine, Half of the maximum supported number of objects will be allocated. For AGE action, if no counters were allocat

[PATCH v3 06/11] net/mlx5: fix segfault on counter pool destroy

2024-06-03 Thread Maayan Kashani
If the counter pool was not added to list, and an error state was reached, on attempt to destroy the counter pool, segmentation fault was received during list remove action. Added a check to verify the list is not empty before trying to remove the cpool from the list. Invalid state, leading to se

[PATCH v3 04/11] net/mlx5: add default miss action support in nt2hws mode

2024-06-03 Thread Maayan Kashani
From: Bing Zhao The validation will be handled later. Now it only supports the SEND_TO_KERNEL on non-root tables. Signed-off-by: Bing Zhao --- drivers/net/mlx5/mlx5_flow_hw.c | 23 --- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flo

[PATCH v3 03/11] net/mlx5: add basic actions support for non-template API

2024-06-03 Thread Maayan Kashani
From: Bing Zhao Support JUMP / DROP / QUEUE / MARK / FLAG now. Signed-off-by: Bing Zhao --- drivers/net/mlx5/mlx5_flow_hw.c | 153 1 file changed, 135 insertions(+), 18 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c

  1   2   >