[PATCH v3] gro : ipv6 changes to support GRO for TCP/ipv6

2023-06-01 Thread Kumara Parameshwaran
The patch adds GRO support for TCP/ipv6 packets. This does not include the support for vxlan, udp ipv6 packets. Signed-off-by: Kumara Parameshwaran --- v1: * Changes to support GRO for TCP/ipv6 packets. This does not include vxlan changes. * The GRO is performed only fo

Re: [PATCH v3 0/4] vhost: add device op to offload the interrupt kick

2023-06-01 Thread Eelco Chaudron
On 1 Jun 2023, at 22:00, Maxime Coquelin wrote: > On 5/17/23 11:08, Eelco Chaudron wrote: >> This series adds an operation callback which gets called every time the >> library wants to call eventfd_write(). This eventfd_write() call could >> result in a system call, which could potentially bloc

RE: [PATCH 20/25] net/ionic: replace snprintf with strlcpy

2023-06-01 Thread Xu, Rosen
Hi, > -Original Message- > From: Stephen Hemminger > Sent: Thursday, June 1, 2023 11:01 PM > To: dev@dpdk.org > Cc: Stephen Hemminger ; Andrew Boyer > ; Xu, Rosen > Subject: [PATCH 20/25] net/ionic: replace snprintf with strlcpy > > Suggested by devtools/cocci/strlcpy-with-header.cocci

RE: [PATCH 04/25] raw/ifpga: replace snprintf with strlcpy

2023-06-01 Thread Xu, Rosen
Hi, > -Original Message- > From: Stephen Hemminger > Sent: Thursday, June 1, 2023 11:01 PM > To: dev@dpdk.org > Cc: Stephen Hemminger ; Xu, Rosen > ; Zhang, Tianfei > Subject: [PATCH 04/25] raw/ifpga: replace snprintf with strlcpy > > Suggested by devtools/cocci/strlcpy-with-header.cocc

[PATCH v3] gro : ipv6-gro review comments to reduce code duplication across v4 and v6

2023-06-01 Thread Kumara Parameshwaran
Signed-off-by: Kumara Parameshwaran --- v1: * Changes to support GRO for TCP/ipv6 packets. This does not include vxlan changes. * The GRO is performed only for ipv6 packets that does not contain extension headers. * The logic for the TCP coalescing rem

RE: [PATCH 09/25] crypto/dpaa_sec: replace snprintf with strlcpy

2023-06-01 Thread Hemant Agrawal
Acked-by: Hemant Agrawal

RE: [PATCH 16/25] net/dpaa*: replace snprintf with strlcpy

2023-06-01 Thread Hemant Agrawal
Acked-by: Hemant Agrawal

RE: [PATCH v1 1/1] bbdev: extend range of allocation function

2023-06-01 Thread Hemant Agrawal
Acked-by: Hemant Agrawal

Re: [PATCH 0/3] use C11 memory model GCC builtin atomics

2023-06-01 Thread Tyler Retzlaff
On Wed, May 24, 2023 at 09:05:08AM -0700, Tyler Retzlaff wrote: > On Wed, May 24, 2023 at 02:51:50PM +0200, David Marchand wrote: > > On Mon, Mar 27, 2023 at 4:30 PM Tyler Retzlaff > > wrote: > > > > > > Replace the use of __sync__and_fetch and __sync_fetch_and_ atomics > > > with GCC C11 memory m

Re: [PATCH v3] net/bnx2x : add experimental 2.5Gbps support for BCM578xx.

2023-06-01 Thread Jerin Jacob
On Thu, Jun 1, 2023 at 3:51 PM Julien Aube wrote: > > - add support for 2500baseX_Full in addition to 1000baseT_Full. > For 2.5Gbps speed, HSGMII mode shall be enabled in the serdes. > - add the possibility to support SC connectors on SFP (GPON are mostly SC) > - change the initialisation time f

Re: [External] Re: [PATCH] eal/linux: register mp hotplug callback after memory init

2023-06-01 Thread 王志宏
Apologize that I have to go directly to function names to explain :) - rte_eal_intr_init creates eal_intr_thread_main which starts eal_intr_handle_interrupts - rte_mp_channel_init creates mp_handle which processes messages registered by rte_mp_action_register - then, eal_mp_dev_hotplug_init c

RE: [PATCH v2] net/iavf: add VF reset check

2023-06-01 Thread Zhang, Qi Z
> -Original Message- > From: Zeng, ZhichaoX > Sent: Friday, June 2, 2023 10:38 AM > To: dev@dpdk.org > Cc: Zhang, Qi Z ; Zeng, ZhichaoX > ; Wang, Liang-min ; > Wu, Jingjing ; Xing, Beilei > Subject: [PATCH v2] net/iavf: add VF reset check > > In the current implementation, after appli

[PATCH v2 resend] crypto/uadk: set queue pair in dev_configure

2023-06-01 Thread Zhangfei Gao
By default, uadk only alloc two queues for each algorithm, which will impact performance. Set queue pair number as required in dev_configure. The default max queue pair number is 8, which can be modified via para: max_nb_queue_pairs Example: sudo dpdk-test-crypto-perf -l 0-10 --vdev crypto_uadk,ma

[PATCH v2] net/iavf: add VF reset check

2023-06-01 Thread Zhichao Zeng
In the current implementation, after application calls rte_eth_dev_reset, it has no way to know if reset has been completed, and if the virtual channel command is called before it is completed, it may cause the dev to be abnormal. To avoid this issue, an uncertain delay need to be added. This comm

[PATCH v2] net/iavf: add VF reset check

2023-06-01 Thread Zhichao Zeng
In the current implementation, after application calls rte_eth_dev_reset, it has no way to know if reset has been completed, and if the virtual channel command is called before it is completed, it may cause the dev to be abnormal. To avoid this issue, an uncertain delay need to be added. This comm

[PATCH v2] net/iavf: add devargs to control watchdog

2023-06-01 Thread Zhichao Zeng
This patch enables the watchdog to detect VF FLR when the link state changes to down, and the default period is 2000us as defined by IAVF_DEV_WATCHDOG_PERIOD. In addition, the 'watchdog_period' devargs was added to adjust the watchdog period(microseconds), or set to 0 to disable the watchdog. Sig

[PATCH v1 1/1] bbdev: extend range of allocation function

2023-06-01 Thread Nicolas Chautru
Realigning the argument to unsigned int to align with number support by underlying rte_mempool_get_bulk function. Signed-off-by: Nicolas Chautru --- lib/bbdev/rte_bbdev_op.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/bbdev/rte_bbdev_op.h b/lib/bbdev/rte_bbdev_o

[PATCH v1 0/1] bbdev: extend range for alloc function

2023-06-01 Thread Nicolas Chautru
Minor change so that these companions functions are aligned with the size of the range for the underlying rte_mempool_bulk_alloc function. Backward compatible but may allow notably to allocation larger number of operations. Nicolas Chautru (1): bbdev: extend range of allocation function lib/bb

[PATCH] net/ice: fix outer UDP checksum offload

2023-06-01 Thread Zhichao Zeng
Currently, when dealing with UDP tunnel pkts checksum offloading, the outer-udp checksum will be offloaded by default. So the 'csum set outer-udp hw/sw' command does not work. This patch fixes judgment of the EIPT flag and enables the 'csum set outer-udp hw/sw' command by adding judgment for the o

Re: [PATCH v2 1/2] ethdev: add API to check queue ID validity

2023-06-01 Thread huangdengdui
On 2023/6/2 6:13, Ferruh Yigit wrote: > On 5/31/2023 5:31 PM, Ferruh Yigit wrote: >> On 5/22/2023 2:58 PM, Andrew Rybchenko wrote: >>> On 5/22/23 16:09, Dengdui Huang wrote: The API rte_eth_dev_is_valid_rxq/txq checks the port ID validity and then the Rx/Tx queue ID is valid. >>> >>> What

Re: [PATCH v3] app/test-pmd : Add 2.5Gbps and 5Gbps support to test-pmd

2023-06-01 Thread Ferruh Yigit
On 6/1/2023 11:17 AM, Julien Aube wrote: > This extends the support for 2.5iG and 5G NIC commonly found today > > Signed-off-by: Julien Aube > Reviewed-by: Ferruh Yigit Applied to dpdk-next-net/main, thanks.

[PATCH 3/3] net/sfc: support FEC feature

2023-06-01 Thread Denis Pryazhennikov
Support ethdev methods to query and set FEC information. Limitations: ignoring rte_eth_fec_get_capability() results can lead to NOFEC if the device is not strated. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton Reviewed-by: Ferruh Yigit --- doc/guides/nic

[PATCH 2/3] common/sfc_efx/base: add FEC related macros

2023-06-01 Thread Denis Pryazhennikov
Added new macros to simplify working with FEC bits Signed-off-by: Denis Pryazhennikov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 9 + 1 file changed, 9 insertions(+) diff --git a/drivers/common/sfc_efx/base/efx.h b/drivers/common/sfc_efx/base/efx.h index 49e29dc

[PATCH 1/3] net/sfc: split link update function

2023-06-01 Thread Denis Pryazhennikov
Separate the original link update function into two functions: state retrieval and update. This improves code clarity and maintainability. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_ethdev.c | 28 +++- 1

[PATCH 0/3] net/sfc: support FEC feature

2023-06-01 Thread Denis Pryazhennikov
This patch series adds setting and querying of Forward error correction (FEC). AUTO, BASER and RS modes are supported by EF10/EF100 hardware. LLRS mode is not supported. Denis Pryazhennikov (3): net/sfc: split link update function common/sfc_efx/base: add FEC related macros net/sfc: support

Re: [PATCH v2 1/2] ethdev: add API to check queue ID validity

2023-06-01 Thread Ferruh Yigit
On 5/31/2023 5:31 PM, Ferruh Yigit wrote: > On 5/22/2023 2:58 PM, Andrew Rybchenko wrote: >> On 5/22/23 16:09, Dengdui Huang wrote: >>> The API rte_eth_dev_is_valid_rxq/txq checks >>> the port ID validity and then the Rx/Tx queue ID is valid. >> >> What is valid Tx/Rx queue? It depends on on caller

Re: [PATCH] app/testpmd: fix IPv6 tunnel packet checksum error

2023-06-01 Thread Ferruh Yigit
On 5/30/2023 4:36 PM, Shiyang He wrote: > In checksum forwarding mode, the checksum of tunnel packet calculated > incorrectly when outer header is IPv6. > > This patch fixes the issue by setting L4 checksum flag. > > Fixes: daa02b5cddbb ("mbuf: add namespace to offload flags") This commit just u

[PATCH v4 09/26] vhost: introduce backend ops

2023-06-01 Thread Maxime Coquelin
This patch introduces backend ops struct, that will enable calling backend specifics callbacks (Vhost-user, VDUSE), in shared code. This is an empty shell for now, it will be filled in later patches. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/socket.c | 2 +- lib

[PATCH v4 25/26] vhost: add multiqueue support to VDUSE

2023-06-01 Thread Maxime Coquelin
This patch enables control queue support in order to support multiqueue. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/vduse.c | 83 +++ 1 file changed, 76 insertions(+), 7 deletions(-) diff --git a/lib/vhost/vduse.c b/lib/vhos

[PATCH v4 26/26] vhost: add VDUSE device stop

2023-06-01 Thread Maxime Coquelin
This patch adds VDUSE device stop and cleanup of its virtqueues. Signed-off-by: Maxime Coquelin --- doc/guides/rel_notes/release_23_07.rst | 6 +++ lib/vhost/vduse.c | 72 +++--- 2 files changed, 70 insertions(+), 8 deletions(-) diff --git a/doc/guides/

[PATCH v4 24/26] vhost: add VDUSE device startup

2023-06-01 Thread Maxime Coquelin
This patch adds the device and its virtqueues initialization once the Virtio driver has set the DRIVER_OK in the Virtio status register. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/vduse.c | 126 ++ 1 file changed, 126 inserti

[PATCH v4 23/26] vhost: add support for VDUSE IOTLB update event

2023-06-01 Thread Maxime Coquelin
This patch adds support for VDUSE_UPDATE_IOTLB event handling, which consists in invaliding IOTLB entries for the range specified in the request. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/vduse.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/lib/vhost/vdu

[PATCH v4 22/26] vhost: add support for VDUSE status set event

2023-06-01 Thread Maxime Coquelin
This patch adds support for VDUSE_SET_STATUS event handling, which consists in updating the Virtio device status set by the Virtio driver. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/vduse.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/lib/vhost/vduse.c b/l

[PATCH v4 21/26] vhost: add support for virtqueue state get event

2023-06-01 Thread Maxime Coquelin
This patch adds support for VDUSE_GET_VQ_STATE event handling, which consists in providing the backend last available index for the specified virtqueue. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/vduse.c | 8 1 file changed, 8 insertions(+) diff --git a/lib/v

[PATCH v4 20/26] vhost: add VDUSE events handler

2023-06-01 Thread Maxime Coquelin
This patch makes use of Vhost lib's FD manager to install a handler for VDUSE events occurring on the VDUSE device FD. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/vduse.c | 101 ++ 1 file changed, 101 insertions(+) diff --git

[PATCH v4 19/26] vhost: add VDUSE callback for IRQ injection

2023-06-01 Thread Maxime Coquelin
This patch implements the VDUSE callback for kicking virtqueues. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/vduse.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/lib/vhost/vduse.c b/lib/vhost/vduse.c index 58c1b384a8..d39e39b9dc 100644 --- a/lib/vhost/vdus

[PATCH v4 18/26] vhost: add VDUSE callback for IOTLB entry removal

2023-06-01 Thread Maxime Coquelin
This patch implements the VDUSE callback for IOTLB entry removal, where it unmaps the pages from the invalidated IOTLB entry. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/vduse.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/lib/vhost/vduse.c b/lib/vhost/vdu

[PATCH v4 17/26] vhost: add VDUSE callback for IOTLB miss

2023-06-01 Thread Maxime Coquelin
This patch implements the VDUSE callback for IOTLB misses, which is done by using the VDUSE VDUSE_IOTLB_GET_FD ioctl. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/vduse.c | 58 +++ 1 file changed, 58 insertions(+) diff --git a

[PATCH v4 16/26] vhost: add VDUSE device creation and destruction

2023-06-01 Thread Maxime Coquelin
This patch adds initial support for VDUSE, which includes the device creation and destruction. It does not include the virtqueues configuration, so this is not functionnal at this point. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/meson.build | 4 + lib/vhost/socket.

[PATCH v4 15/26] vhost: add control virtqueue support

2023-06-01 Thread Maxime Coquelin
In order to support multi-queue with VDUSE, having control queue support is required. This patch adds control queue implementation, it will be used later when adding VDUSE support. Only split ring layout is supported for now, packed ring support will be added later. Signed-off-by: Maxime Coquelin

[PATCH v4 14/26] net/vhost: use API to set max queue pairs

2023-06-01 Thread Maxime Coquelin
In order to support multiqueue with VDUSE, we need to be able to limit the maximum number of queue pairs, to avoid unnecessary memory consumption since the maximum number of queue pairs need to be allocated at device creation time, as opposed to Vhost-user which allocate only when the frontend init

[PATCH v4 13/26] vhost: add API to set max queue pairs

2023-06-01 Thread Maxime Coquelin
This patch introduces a new rte_vhost_driver_set_max_queues API as preliminary work for multiqueue support with VDUSE. Indeed, with VDUSE we need to pre-allocate the vrings at device creation time, so we need such API not to allocate the 128 queue pairs supported by the Vhost library. Calling the

[PATCH v4 12/26] vhost: add helper for interrupt injection

2023-06-01 Thread Maxime Coquelin
Vhost-user uses eventfd to inject IRQs, but VDUSE uses an ioctl. This patch prepares vhost_vring_call_split() and vhost_vring_call_packed() to support VDUSE by introducing a new helper. It also adds a new counter for guest notification failures, which could happen in case of uninitialized call fi

[PATCH v4 11/26] vhost: add helper for IOTLB misses

2023-06-01 Thread Maxime Coquelin
This patch adds a helper for sending IOTLB misses as VDUSE will use an ioctl while Vhost-user use a dedicated Vhost-user backend request. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/vhost.c | 13 - lib/vhost/vhost.h | 4 lib/vhost/vhost_user.

[PATCH v4 10/26] vhost: add IOTLB cache entry removal callback

2023-06-01 Thread Maxime Coquelin
VDUSE will need to munmap() the IOTLB entry on removal from the cache, as it performs mmap() before insertion. This patch introduces a callback that VDUSE layer will implement to achieve this. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/iotlb.c | 12 lib/v

[PATCH v4 08/26] vhost: retry translating IOVA after IOTLB miss

2023-06-01 Thread Maxime Coquelin
Vhost-user backend IOTLB misses and updates are asynchronous, so IOVA address translation function just fails after having sent an IOTLB miss update if needed entry was not in the IOTLB cache. This is not the case for VDUSE, for which the needed IOTLB update is returned directly when sending an IO

[PATCH v4 06/26] vhost: add offset field to IOTLB entries

2023-06-01 Thread Maxime Coquelin
This patch is a preliminary work to prepare for VDUSE support, for which we need to keep track of the mmaped base address and offset in order to be able to unmap it later when IOTLB entry is invalidated. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/iotlb.c | 30

[PATCH v4 07/26] vhost: add page size info to IOTLB entry

2023-06-01 Thread Maxime Coquelin
VDUSE will close the file descriptor after having mapped the shared memory, so it will not be possible to get the page size afterwards. This patch adds an new page_shift field to the IOTLB entry, so that the information will be passed at IOTLB cache insertion time. The information is stored as a b

[PATCH v4 05/26] vhost: change to single IOTLB cache per device

2023-06-01 Thread Maxime Coquelin
This patch simplifies IOTLB implementation and improves IOTLB memory consumption by having a single IOTLB cache per device, instead of having one per queue. In order to not impact performance, it keeps an IOTLB lock per virtqueue, so that there is no contention between multiple queue trying to acq

[PATCH v4 04/26] vhost: don't dump unneeded pages with IOTLB

2023-06-01 Thread Maxime Coquelin
On IOTLB entry removal, previous fixes took care of not marking pages shared with other IOTLB entries as DONTDUMP. However, if an IOTLB entry is spanned on multiple pages, the other pages were kept as DODUMP while they might not have been shared with other entries, increasing needlessly the coredu

[PATCH v4 02/26] vhost: add helper of IOTLB entries coredump

2023-06-01 Thread Maxime Coquelin
This patch reworks IOTLB code to extract madvise-related bits into dedicated helper. This refactoring improves code sharing. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia --- lib/vhost/iotlb.c | 77 +-- 1 file changed, 41 insertions(+), 36 de

[PATCH v4 03/26] vhost: add helper for IOTLB entries shared page check

2023-06-01 Thread Maxime Coquelin
This patch introduces a helper to check whether two IOTLB entries share a page. Signed-off-by: Maxime Coquelin Acked-by: Mike Pattrick Reviewed-by: Chenbo Xia --- lib/vhost/iotlb.c | 25 - 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/lib/vhost/iotlb.c

[PATCH v4 01/26] vhost: fix IOTLB entries overlap check with previous entry

2023-06-01 Thread Maxime Coquelin
Commit 22b6d0ac691a ("vhost: fix madvise IOTLB entries pages overlap check") fixed the check to ensure the entry to be removed does not overlap with the next one in the IOTLB cache before marking it as DONTDUMP with madvise(). This is not enough, because the same issue is present when comparing wit

[PATCH v4 00/26] Add VDUSE support to Vhost library

2023-06-01 Thread Maxime Coquelin
This series introduces a new type of backend, VDUSE, to the Vhost library. VDUSE stands for vDPA device in Userspace, it enables implementing a Virtio device in userspace and have it attached to the Kernel vDPA bus. Once attached to the vDPA bus, it can be used either by Kernel Virtio drivers, li

Re: [PATCH 2/2] net/virtio: fix device init to return negative errno

2023-06-01 Thread Maxime Coquelin
On 3/22/23 11:23, Boleslav Stankevich wrote: virtio_init_device() and called helper functions sometimes return -1 when return code should be negative errno. Fix all such cases to return correct negative errno instead. Fixes: 26b683b4f7d0 ("net/virtio: setup Rx queue interrupts") Fixes: 0c9d66

Re: [PATCH 1/2] net/virtio: propagate return value of called function

2023-06-01 Thread Maxime Coquelin
On 3/22/23 11:23, Boleslav Stankevich wrote: rte_intr_vec_list_alloc() may fail because of different reasons which are indicated by different negative errno values. Fixes: d61138d4f0e2 ("drivers: remove direct access to interrupt handle") Cc: sta...@dpdk.org Signed-off-by: Boleslav Stankevic

Re: [PATCH] net/virtio-user: fix leak when initialisation fails

2023-06-01 Thread Maxime Coquelin
On 4/13/23 12:10, David Marchand wrote: Caught with ASan. If initialising a virtio_user port fails, we may leak the ifname passed via a devargs. Fixes: 4214a1b493f2 ("net/virtio-user: support changing tap interface name") Cc: sta...@dpdk.org Signed-off-by: David Marchand --- drivers/net/v

Re: [PATCH v3 0/4] vhost: add device op to offload the interrupt kick

2023-06-01 Thread Maxime Coquelin
On 5/17/23 11:08, Eelco Chaudron wrote: This series adds an operation callback which gets called every time the library wants to call eventfd_write(). This eventfd_write() call could result in a system call, which could potentially block the PMD thread. The callback function can decide whethe

Re: [PATCH v3 01/28] vhost: fix missing guest notif stat increment

2023-06-01 Thread Maxime Coquelin
On 5/25/23 18:25, Maxime Coquelin wrote: Guest notification counter was only incremented for split ring, this patch adds it also for packed ring. Fixes: 1ea74efd7fa4 ("vhost: add statistics for guest notification") Cc: sta...@dpdk.org Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia

[PATCH 34/34] net/sfc: use conntrack assistance counters in transfer flows

2023-06-01 Thread Ivan Malov
These are 1-bit saturating counters which can only be useful to tell whether a given flow rule has offloaded some packets since the last query. Byte count is never provided for these. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.h| 2 + drivers/net/

[PATCH 33/34] common/sfc_efx/base: support conntrack assistance counters

2023-06-01 Thread Ivan Malov
Counters that can be referenced by HW conntrack assistance table work similar to those of the action rules. However, their IDs belong to a separate (CT-specific) namespace. These are 1-bit saturating counters with no byte count. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/c

[PATCH 32/34] net/sfc: indicate MAE counter type in use for transfer flows

2023-06-01 Thread Ivan Malov
Doing so assists adding support for additional counter types. Current implementation is only aware of action rule counters that are supported by the match-action engine (MAE) on EF100 NICs, but MAE may also support conntrack assistance counters. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreto

[PATCH 31/34] common/sfc_efx/base: rework MAE counter provisioning helpers

2023-06-01 Thread Ivan Malov
Doing so is required to disambiguate counters of different types supported by the match-action engine (MAE) on EF100. Currently, the code only supports action rule counters, but MAE may also support conntrack assistance counters. Add type-aware allocate and free MCDI handlers and extend reporting

[PATCH 30/34] net/sfc: support indirect count action in transfer flows

2023-06-01 Thread Ivan Malov
Indirect count action is useful to applications that need to gather aggregated statistics for many flows. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- doc/guides/nics/features/sfc.ini | 1 + doc/guides/nics/sfc_efx.rst | 2 + drivers/net/sfc/sfc.h| 1 + drivers

[PATCH 29/34] net/sfc: rework MAE action rule counter representation in SW

2023-06-01 Thread Ivan Malov
Such rework is needed to prepare for INDIRECT action support and in order to align with the latest HW support perspective. Currently, the driver supports only one counter per flow. It was once thought that MAE would support multiple counters in one action set. That was partly envisaged in code and

[PATCH 28/34] net/sfc: rename SW structures used by transfer flow counters

2023-06-01 Thread Ivan Malov
Doing so facilitates rearrangements of the next patch needed to make software counter objects shareable across many flows. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c | 14 +++--- drivers/net/sfc/sfc_mae.h | 14 +++--- driver

[PATCH 27/34] net/sfc: add support for IPv4 NAT offload to MAE backend

2023-06-01 Thread Ivan Malov
For this offload to work, the innermost pattern items must provide the full set of exact match criteria, which are as follows: EtherType, IP DST, IP SRC, TP protocol ID, TP DST and TP SRC, where the protocol types can be autodetected. The offload requires that the IPv4 and the TP actions be reques

[PATCH 26/34] common/sfc_efx/base: support NAT edits in MAE

2023-06-01 Thread Ivan Malov
NAT goes after IP TTL decrement. It can operate on the outermost frame only. In the case of prior decapsulation, that maps to the frame which was (originally) the inner one. Input data for the action comes from the response of the HW conntrack assistance table hit. Signed-off-by: Ivan Malov Revie

[PATCH 25/34] net/sfc: make use of conntrack assistance for transfer flows

2023-06-01 Thread Ivan Malov
On EF100 hardware, match-action engine (MAE) can be equipped with an assistance table for connection tracking (CT). In it, an entry key is a set of exact match fields: an EtherType, a pair of IP addresses, a L4 protocol ID and a pair of L4 port numbers. An entry response can provide matching packet

[PATCH 24/34] common/sfc_efx/base: add API to request MAE conntrack lookup

2023-06-01 Thread Ivan Malov
Such can be initiated when a packet hits an outer rule. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 9 + drivers/common/sfc_efx/base/efx_impl.h | 1 + drivers/common/sfc_efx/base/efx_mae.c | 26 ++ drivers/c

[PATCH 23/34] common/sfc_efx/base: match on conntrack mark in action rules

2023-06-01 Thread Ivan Malov
EF100 match-action engine (MAE) has conntrack assistance table. A hit in this table can provide a mark value for the following lookup stage, which is action rule lookup. Provide support for setting match on conntrack mark. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/

[PATCH 22/34] common/sfc_efx/base: add API to read back MAE match criteria

2023-06-01 Thread Ivan Malov
Later patches of the series provide support for HW conntrack assistance in the DPDK driver. In order to detect flows that are subject to such assistance, the driver needs to retrieve 5-tuple match data from an already constructed specification. A dedicated API to selectively read back match criter

[PATCH 21/34] common/sfc_efx/base: provide an API to clone MAE match specs

2023-06-01 Thread Ivan Malov
The DPDK driver would like to have a means to make a copy of the action rule match specification before trying to dissect it to possibly move out the per-connection 5-tuple data from it to build up an entry in the HW conntrack assistance table. Making such a copy at the end of parsing should be pr

[PATCH 20/34] net/sfc: turn MAE flow action rules into shareable resources

2023-06-01 Thread Ivan Malov
Later patches of the series provide support for HW conntrack assistance. With the new feature, multiple flows that differ in the 5-tuple match fields but are otherwise identical will be able to share all FW-allocatable objects except for those of the conntrack table. That will boost flow engine cap

[PATCH 19/34] net/sfc: prepare MAE outer rules for action rule indirection

2023-06-01 Thread Ivan Malov
Flows provided by match-action engine (MAE) will be reworked by the next patch to make action rule (AR) entries shareable. To ensure correct AR specification comparison on attach path, augment the way outer rules (OR) are handled, namely, how OR IDs are indicated in a AR specification on parse and

[PATCH 18/34] net/sfc: move MAE counter stream start to action set handler

2023-06-01 Thread Ivan Malov
Logically, starting flow counter streaming belongs in action set enable path. Move it there as a preparation step for the patch that will make action rules shareable by several flows. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c | 22 --

[PATCH 16/34] net/sfc: switch driver-internal flows to use generic methods

2023-06-01 Thread Ivan Malov
Doing so helps to consolidate flow operation and ensure that every FW-allocatable resource can be shared by several flows. That is useful in the light of upcoming support for embedded conntrack assistance, where several flows will ideally share everything but unique 5-tuple entries in the conntrack

[PATCH 17/34] net/sfc: move MAE flow parsing method to MAE-specific source

2023-06-01 Thread Ivan Malov
Doing so will facilitate easier code restructure in the next patches required to rework flow housekeeping and indirection. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.c | 47 +- drivers/net/sfc/sfc_mae.c | 58

[PATCH 15/34] net/sfc: extend generic flow API to allow for internal flows

2023-06-01 Thread Ivan Malov
At the moment, driver-internal flow rules are provisioned by functions that are separate from the generic flow management framework. In order to use the latter for such rules, extend it accordingly. This will be actually used in the next patch. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton

[PATCH 13/34] net/sfc: turn flow create/destroy methods into lock wrappers

2023-06-01 Thread Ivan Malov
Doing so is useful to facilitate driver-internal flow rework. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.c | 42 ++ drivers/net/sfc/sfc_flow.h | 9 2 files changed, 42 insertions(+), 9 deletions(-) diff --git a

[PATCH 14/34] net/sfc: let driver-internal flows use VF representor action

2023-06-01 Thread Ivan Malov
In the case of VF <--> VF representor pairs, these flows can only collect VF traffic, so let them use generic flow action PORT_REPRESENTOR, as part of re-using generic flow mechanism. Currently, it does not allow to access VF representors since they have no unique HW logical ports (m-ports). They

[PATCH 12/34] net/sfc: make entry pointer optional in MAE resource helpers

2023-06-01 Thread Ivan Malov
Keep NULL object check in one place rather than repeat it in all of the callers. That should make the code easier on eyes. Future code for additional object types will follow this way. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c | 78 +++

[PATCH 11/34] net/sfc: add API to manage HW Conntrack table

2023-06-01 Thread Ivan Malov
From: Denis Pryazhennikov The new API allows to manipulate entries in the HW Conntrack table. It uses a new Table Access API as a backend. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/meson.build | 1 + drivers/net/sfc/sfc_mae_ct

[PATCH 10/34] net/sfc: attach to HW table API

2023-06-01 Thread Ivan Malov
From: Denis Pryazhennikov The patch adds APIs to initialise, manipulate and finalise HW tables API-specific context in NIC control structure. The context itself will be used to store HW tables-related info, like table descriptors and field descriptors. Signed-off-by: Denis Pryazhennikov Reviewe

[PATCH 09/34] net/sfc: add functions to manipulate MCDI table fields

2023-06-01 Thread Ivan Malov
From: Denis Pryazhennikov Implemented functions that help to fill user data for manipulation with HW tables in the required format. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/meson.build | 1 + drivers/net/sfc/sfc_tbls.c | 140

[PATCH 08/34] net/sfc: add MCDI wrappers for BCAM tables

2023-06-01 Thread Ivan Malov
From: Denis Pryazhennikov A "table" is structure used for lookups, consisting of a set of entries which can be matched against an N-bit "request", to return either a "hit" with an M-bit "response", or a "miss" if there is no match. There are a number of HW tables of various types that could be us

[PATCH 07/34] common/sfc_efx/base: add API to delete entry from HW table

2023-06-01 Thread Ivan Malov
From: Denis Pryazhennikov API allows to delete entry from any supported HW table. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 11 drivers/common/sfc_efx/base/efx_table.c | 77 +

[PATCH 06/34] common/sfc_efx/base: add API to insert data to HW table

2023-06-01 Thread Ivan Malov
From: Denis Pryazhennikov API allows to insert data to any supported HW table. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Viacheslav Galaktionov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 16 + drivers/common/sfc_efx/base/efx_tab

[PATCH 05/34] common/sfc_efx/base: add API to get HW table desc

2023-06-01 Thread Ivan Malov
From: Denis Pryazhennikov Table's descriptor and fields' descriptors can be taken by table ID using a new API. In the near future, only the CT table is planned to be used, so only fields that are required for these purposes were added to the efx. Signed-off-by: Denis Pryazhennikov Reviewed-by:

[PATCH 04/34] common/sfc_efx/base: add macro to get indexed QWORD field

2023-06-01 Thread Ivan Malov
From: Denis Pryazhennikov Extend MCDI macros to manipulate with fields in indexed QWORDs. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Viacheslav Galaktionov --- drivers/common/sfc_efx/base/efx_mcdi.h | 4 1 file changed, 4 insertions(+) diff --git a/drivers/

[PATCH 03/34] common/sfc_efx/base: add API to list HW tables

2023-06-01 Thread Ivan Malov
From: Denis Pryazhennikov New MCDI Table Access API allows management of the HW tables' content. This part of API helps to list all supported tables. In the near future, only the CT table is planned to be used, so only one identifier for this table was added to the efx. New table IDs will be adde

[PATCH 02/34] common/sfc_efx/base: detect MCDI Table Access API support

2023-06-01 Thread Ivan Malov
From: Denis Pryazhennikov Future patches will add an implementation of MCDI Table Access API in libefx. This patch adds a way to determine if this API is supported. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h

[PATCH 00/34] net/sfc: support HW conntrack assistance

2023-06-01 Thread Ivan Malov
On EF100 hardware, match-action engine (MAE) can be equipped with an assistance table for connection tracking (CT). In it, an entry key is a set of exact match fields: an EtherType, a pair of IP addresses, a L4 protocol ID and a pair of L4 port numbers. An entry response can provide matching packet

[PATCH] node: add IPv4 reassembly node

2023-06-01 Thread pbhagavatula
From: Pavan Nikhilesh Add IPv4 reassembly node. Signed-off-by: Pavan Nikhilesh --- Depends-on: series-28278 doc/guides/prog_guide/graph_lib.rst | 8 ++ lib/node/ethdev_rx.c| 1 + lib/node/ethdev_rx_priv.h | 1 + lib/node/ip4_reassembly.c | 175 +++

Re: [PATCH v3 28/28] vhost: add VDUSE device stop

2023-06-01 Thread Maxime Coquelin
On 5/29/23 08:53, Xia, Chenbo wrote: Hi Maxime, -Original Message- From: Maxime Coquelin Sent: Friday, May 26, 2023 12:26 AM To: dev@dpdk.org; Xia, Chenbo ; david.march...@redhat.com; m...@redhat.com; f...@redhat.com; jasow...@redhat.com; Liang, Cunming ; Xie, Yongji ; echau...@redh

RE: [PATCH] lib/cryptodev: move RSA padding information into xform

2023-06-01 Thread Kusztal, ArkadiuszX
> -Original Message- > From: Gowrishankar Muthukrishnan > Sent: Wednesday, May 17, 2023 6:53 PM > To: dev@dpdk.org > Cc: ano...@marvell.com; Akhil Goyal ; Fan Zhang > ; Ankur Dwivedi ; Tejasree > Kondoj ; Ji, Kai ; Dooley, Brian > ; Gowrishankar Muthukrishnan > > Subject: [PATCH] lib/c

RE: [PATCH v5 3/5] eal/interrupts: add IRQ count in interrupt handle

2023-06-01 Thread Gupta, Nipun
> -Original Message- > From: Gupta, Nipun > Sent: Thursday, June 1, 2023 11:35 PM > To: David Marchand > Cc: dev@dpdk.org; tho...@monjalon.net; hka...@marvell.com; > anatoly.bura...@intel.com; step...@networkplumber.org; Yigit, Ferruh > ; Anand, Harpreet ; > Agarwal, Nikhil > Subject: R

Re: [PATCH v5 1/5] bus/cdx: introduce AMD CDX bus

2023-06-01 Thread Nipun Gupta
On 6/1/2023 8:30 PM, David Marchand wrote: + +struct rte_cdx_bus rte_cdx_bus = { + .bus = { + .scan = cdx_scan, + .probe = cdx_probe, + .find_device = cdx_find_device, + .parse = cdx_parse, I see neither unplug, nor cleanup op

Re: [PATCH v5 3/5] eal/interrupts: add IRQ count in interrupt handle

2023-06-01 Thread Nipun Gupta
Hi David, On 6/1/2023 8:55 PM, David Marchand wrote: On Thu, May 25, 2023 at 12:08 PM Nipun Gupta wrote: Have total number of IRQ count support in interrupt handle. In case of VFIO this IRQ count is returned when VFIO_DEVICE_GET_IRQ_INFO ioctl is invoked. This IRQ_count can used by the devic

Re: [PATCH] net/gve: fix bug in verify driver compatibility

2023-06-01 Thread Rushil Gupta
Thanks for the quick response! Just for my own knowledge, what Junfeng described is the process to fix the bug if a bug is present in the main dpdk repo? On Thu, Jun 1, 2023 at 3:24 AM Ferruh Yigit wrote: > > On 6/1/2023 9:26 AM, Ferruh Yigit wrote: > > On 6/1/2023 5:49 AM, Rushil Gupta wrote: >

  1   2   3   >