Re: [dpdk-dev] [EXT] Re: [Bug 828] [dpdk-21.11] zuc unit test is failing

2021-10-15 Thread Vidya Sagar Velumuri
Hi David, The issue could be related to the test vectors newly added for ZUC. Will get back on that with the proper vectors. Hi Akhil, The IV in the new vectors are not completely as per spec. I am working on this. Will push a patch with proper IV soon. Regards Sagar

Re: [dpdk-dev] [PATCH v6 1/6] ethdev: fix max Rx packet length

2021-10-15 Thread Ferruh Yigit
On 10/12/2021 12:53 AM, Ferruh Yigit wrote: There is a confusion on setting max Rx packet length, this patch aims to clarify it. 'rte_eth_dev_configure()' API accepts max Rx packet size via 'uint32_t max_rx_pkt_len' field of the config struct 'struct rte_eth_conf'. Also 'rte_eth_dev_set_mtu()'

Re: [dpdk-dev] [PATCH v3 8/8] examples: remove unnecessary include of atomic

2021-10-15 Thread Dharmik Thakkar
Hi, I am seeing the following CI failures on this series: a) 1.3% nic_single_core_perf degradation with Mellanox ConnectX-4 Lx 4 Mbps. b) dpdk_unit_test failure with RHEL 7 VM due to red_autotest failure. These issues are not related to the patch series since the patches are only targeted to

Re: [dpdk-dev] [dpdk-stable] [PATCH] net/i40e: fix IPv6 fragment RSS offload type in flow

2021-10-15 Thread Ferruh Yigit
On 10/12/2021 9:39 AM, Alvin Zhang wrote: To keep flow format uniform with ice, this patch adds support for this RSS rule: flow create 0 ingress pattern eth / ipv6_frag_ext / end actions \ rss types ipv6-frag end queues end queues end / end Fixes: ef4c16fd9148 ("net/i40e: refactor RSS

[dpdk-dev] [PATCH v14 12/12] MAINTAINERS: add entry for new packet capture features

2021-10-15 Thread Stephen Hemminger
Since the packet capture is just extension of existing pdump; add myself as maintainer of that. Signed-off-by: Stephen Hemminger --- MAINTAINERS | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index ed8becce85cd..6d95d151ba4a 100644 --- a

[dpdk-dev] [PATCH v14 11/12] doc: changes for new pcapng and dumpcap utility

2021-10-15 Thread Stephen Hemminger
Describe the new packet capture library and utility. Fix the title line on the pdump documentation. Signed-off-by: Stephen Hemminger --- doc/api/doxy-api-index.md | 1 + doc/api/doxy-api.conf.in | 1 + .../howto/img/packet_capture_framework.svg| 96

[dpdk-dev] [PATCH v14 10/12] test: enable bpf autotest

2021-10-15 Thread Stephen Hemminger
The BPF autotest is defined but not run automatically. Since it is short, it should be added to the autotest suite. Signed-off-by: Stephen Hemminger Acked-by: Konstantin Ananyev --- app/test/meson.build | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/test/meson.build b/app/test/meson.

[dpdk-dev] [PATCH v14 09/12] test: add a test for pcapng library

2021-10-15 Thread Stephen Hemminger
Simple unit test that created pcapng file using API. To run this test you need to have at least one device. For example: DPDK_TEST=pcapng_autotest ./build/app/test/dpdk-test -l 0-15 \ --no-huge -m 2048 --vdev=net_tap,iface=dummy Signed-off-by: Stephen Hemminger --- app/test/meson.build |

[dpdk-dev] [PATCH v14 08/12] test: add test for bpf_convert

2021-10-15 Thread Stephen Hemminger
Add some functional tests for the Classic BPF to DPDK BPF converter. Signed-off-by: Stephen Hemminger --- app/test/test_bpf.c | 200 1 file changed, 200 insertions(+) diff --git a/app/test/test_bpf.c b/app/test/test_bpf.c index 8118a1849ba0..d3d385ce

[dpdk-dev] [PATCH v14 07/12] app/dumpcap: add new packet capture application

2021-10-15 Thread Stephen Hemminger
This is a new packet capture application to replace existing pdump. The new application works like Wireshark dumpcap program and supports the pdump API features. It is not complete yet some features such as filtering are not implemented. Signed-off-by: Stephen Hemminger --- app/dumpcap/main.c

[dpdk-dev] [PATCH v14 06/12] pdump: support pcapng and filtering

2021-10-15 Thread Stephen Hemminger
This enhances the DPDK pdump library to support new pcapng format and filtering via BPF. The internal client/server protocol is changed to support two versions: the original pdump basic version and a new pcapng version. The internal version number (not part of exposed API or ABI) is intentionally

[dpdk-dev] [PATCH v14 05/12] bpf: add function to dump eBPF instructions

2021-10-15 Thread Stephen Hemminger
When debugging converted (and other) programs it is useful to see disassembled eBPF output. Signed-off-by: Stephen Hemminger Acked-by: Konstantin Ananyev --- lib/bpf/bpf_dump.c | 139 lib/bpf/meson.build | 1 + lib/bpf/rte_bpf.h | 14 + lib

[dpdk-dev] [PATCH v14 04/12] bpf: add function to convert classic BPF to DPDK BPF

2021-10-15 Thread Stephen Hemminger
The pcap library emits classic BPF (32 bit) and is useful for creating filter programs. The DPDK BPF library only implements extended BPF (eBPF). Add an function to convert from old to new. The rte_bpf_convert function uses rte_malloc to put the resulting program in hugepage shared memory so it

[dpdk-dev] [PATCH v14 03/12] bpf: allow self-xor operation

2021-10-15 Thread Stephen Hemminger
Some BPF programs may use XOR of a register with itself as a way to zero register in one instruction. The BPF filter converter generates this in the prolog to the generated code. The BPF validator would not allow this because the value of register was undefined. But after this operation it always

[dpdk-dev] [PATCH v14 02/12] librte_pcapng: add new library for writing pcapng files

2021-10-15 Thread Stephen Hemminger
This is utility library for writing pcapng format files used by Wireshark family of utilities. Older tcpdump also knows how to read (but not write) this format. See https://github.com/pcapng/pcapng/ Signed-off-by: Stephen Hemminger --- lib/meson.build | 1 + lib/pcapng/meson.build

[dpdk-dev] [PATCH v14 01/12] lib: pdump is not supported on Windows

2021-10-15 Thread Stephen Hemminger
The current version of the pdump library was building on Windows, but it was useless since the pdump utility was not being built and Windows does not have multi-process support. The new version of pdump with filtering now has dependency on bpf. But bpf library is not available on Windows. Signed-

[dpdk-dev] [PATCH v14 00/12] Packet capture framework update

2021-10-15 Thread Stephen Hemminger
This patch set is a more complete version of the the enhanced packet capture support described last year. The new capture library and utility are: - faster avoids lots of extra I/O, does bursting, etc. - gives more information (multiple ports, queues, etc) - has a better user interface (same

[dpdk-dev] [PATCH v2 3/4] cocci: add cocci script to rename mbuf offload flags

2021-10-15 Thread Olivier Matz
The mbuf offload flags do not match the DPDK namespace (they are not prefixed by RTE_). This coccinelle script is used in the next commit to do the replacement in the code. A draft script was initially submitted in commit d7595795b760 ("doc: announce renaming of mbuf offload flags"), but dropped b

[dpdk-dev] [PATCH v2 2/4] mbuf: mark old VLAN offload flags as deprecated

2021-10-15 Thread Olivier Matz
The flags PKT_TX_VLAN_PKT and PKT_TX_QINQ_PKT are marked as deprecated since commit 380a7aab1ae2 ("mbuf: rename deprecated VLAN flags") (2017). But they were not using the RTE_DEPRECATED macro, because it did not exist at this time. Add it, and replace usage of these flags. Signed-off-by: Olivier

[dpdk-dev] [PATCH v2 1/4] mbuf: remove duplicate definition of cksum offload flags

2021-10-15 Thread Olivier Matz
The flags PKT_RX_L4_CKSUM_BAD and PKT_RX_IP_CKSUM_BAD are defined twice with the same value. Remove one of the occurence, which was marked as "deprecated". Signed-off-by: Olivier Matz --- lib/mbuf/rte_mbuf_core.h | 18 -- 1 file changed, 18 deletions(-) diff --git a/lib/mbuf/rte

[dpdk-dev] [PATCH v2 0/4] mbuf: offload flags namespace

2021-10-15 Thread Olivier Matz
This patchset fixes the mbuf offload flags namespace by adding an RTE_ prefix to the definitions. The old flags remain usable, but a deprecation warning is issued at compilation. v2 * rebase * remove part about PKT_RX_EIP_CKSUM_BAD, already in 74a74bf98c * mark old vlan flags as deprecated instead

[dpdk-dev] [PATCH] doc: fix spelling in cnxk guide

2021-10-15 Thread Stephen Hemminger
Fix spelling error which is causing reports of other patches failing. Fixes: 69daa9e5022b ("net/cnxk: support inline security setup for cn10k") Cc: ndabilpu...@marvell.com Signed-off-by: Stephen Hemminger --- doc/guides/nics/cnxk.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --

[dpdk-dev] [PATCH v2 2/2] vdpa/mlx5: retry VAR allocation during vDPA restart

2021-10-15 Thread Xueming Li
VAR is the device memory space for the virtio queues doorbells, qemu could mmap it to directly to speed up doorbell push. On a busy system, Qemu takes time to release VAR resources during driver shutdown. If vdpa restarted quickly, the VAR allocation failed with error 28 since the VAR is singleton

[dpdk-dev] [PATCH v2 1/2] vdpa/mlx5: workaround FW first completion in start

2021-10-15 Thread Xueming Li
After a vDPA application restart, qemu restores VQ with used and available index, new incoming packet triggers virtio driver to handle buffers. Under heavy traffic, no available buffer for firmware to receive new packets, no Rx interrupts generated, driver is stuck on endless interrupt waiting. As

[dpdk-dev] [PATCH v4 14/14] eventdev: mark trace variables as internal

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Mark rte_trace global variables as internal i.e. remove them from experimental section of version map. Some of them are used in inline APIs, mark those as global. Signed-off-by: Pavan Nikhilesh Acked-by: Ray Kinsella --- doc/guides/rel_notes/release_21_11.rst | 12 +

[dpdk-dev] [PATCH v4 13/14] eventdev: make trace APIs internal

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Slowpath trace APIs are only used in rte_eventdev.c so make them as internal. Signed-off-by: Pavan Nikhilesh Acked-by: Jay Jayatheerthan Acked-by: Abhinandan Gujjar --- lib/eventdev/{rte_eventdev_trace.h => eventdev_trace.h} | 0 lib/eventdev/eventdev_trace_points.c

[dpdk-dev] [PATCH v4 12/14] eventdev: promote event vector API to stable

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Promote event vector configuration APIs to stable. Signed-off-by: Pavan Nikhilesh Acked-by: Jay Jayatheerthan Acked-by: Ray Kinsella --- lib/eventdev/rte_event_eth_rx_adapter.h | 1 - lib/eventdev/rte_eventdev.h | 1 - lib/eventdev/version.map

[dpdk-dev] [PATCH v4 11/14] eventdev: move timer adapters memory to hugepage

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Move memory used by timer adapters to hugepage. Allocate memory on the first adapter create or lookup to address both primary and secondary process usecases. This will prevent TLB misses if any and aligns to memory structure of other subsystems. Signed-off-by: Pavan Nikhile

[dpdk-dev] [PATCH v4 10/14] eventdev: rearrange fields in timer object

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Rearrange fields in rte_event_timer data structure to remove holes. Also, remove use of volatile from rte_event_timer. Signed-off-by: Pavan Nikhilesh --- lib/eventdev/rte_event_timer_adapter.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/eve

[dpdk-dev] [PATCH v4 09/14] eventdev: remove rte prefix for internal structs

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Remove rte_ prefix from rte_eth_event_enqueue_buffer, rte_event_eth_rx_adapter and rte_event_crypto_adapter as they are only used in rte_event_eth_rx_adapter.c and rte_event_crypto_adapter.c Signed-off-by: Pavan Nikhilesh Acked-by: Jay Jayatheerthan Acked-by: Abhinandan G

[dpdk-dev] [PATCH v4 08/14] eventdev: hide timer adapter PMD file

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Hide rte_event_timer_adapter_pmd.h file as it is an internal file. Remove rte_ prefix from rte_event_timer_adapter_ops structure. Signed-off-by: Pavan Nikhilesh --- drivers/event/cnxk/cnxk_tim_evdev.c | 5 ++-- drivers/event/cnxk/cnxk_tim_evdev.h | 2

[dpdk-dev] [PATCH v4 07/14] eventdev: hide event device related structures

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Move rte_eventdev, rte_eventdev_data structures to eventdev_pmd.h. Signed-off-by: Pavan Nikhilesh --- drivers/event/dlb2/dlb2_inline_fns.h | 2 + drivers/event/dsw/dsw_evdev.h | 2 + drivers/event/octeontx/timvf_worker.h | 2 + drivers/net/octeontx/octeontx

[dpdk-dev] [PATCH v4 06/14] eventdev: use new API for inline functions

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Use new driver interface for the fastpath enqueue/dequeue inline functions. Signed-off-by: Pavan Nikhilesh Acked-by: Jay Jayatheerthan Acked-by: Abhinandan Gujjar --- lib/eventdev/rte_event_crypto_adapter.h | 15 +--- lib/eventdev/rte_event_eth_tx_adapter.h | 15 +++

[dpdk-dev] [PATCH v4 04/14] eventdev: move inline APIs into separate structure

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Move fastpath inline function pointers from rte_eventdev into a separate structure accessed via a flat array. The intention is to make rte_eventdev and related structures private to avoid future API/ABI breakages.` Signed-off-by: Pavan Nikhilesh Acked-by: Ray Kinsella ---

[dpdk-dev] [PATCH v4 05/14] drivers/event: invoke probing finish function

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Invoke event_dev_probing_finish() function at the end of probing, this function sets the function pointers in the fp_ops flat array. Signed-off-by: Pavan Nikhilesh --- drivers/event/dpaa/dpaa_eventdev.c | 4 +++- drivers/event/dpaa2/dpaa2_eventdev.c | 4 +++-

[dpdk-dev] [PATCH v4 03/14] eventdev: allocate max space for internal arrays

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Allocate max space for internal port, port config, queue config and link map arrays. Introduce new macro RTE_EVENT_MAX_PORTS_PER_DEV and set it to max possible value. This simplifies the port and queue reconfigure scenarios and will also allow inline functions to refer point

[dpdk-dev] [PATCH v4 02/14] eventdev: separate internal structures

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Create rte_eventdev_core.h and move all the internal data structures to this file. These structures are mostly used by drivers, but they need to be in the public header file as they are accessed by datapath inline functions for performance reasons. The accessibility of these

[dpdk-dev] [PATCH v4 01/14] eventdev: make driver interface as internal

2021-10-15 Thread pbhagavatula
From: Pavan Nikhilesh Mark all the driver specific functions as internal, remove `rte` prefix from `struct rte_eventdev_ops`. Remove experimental tag from internal functions. Remove `eventdev_pmd.h` from non-internal header files. Signed-off-by: Pavan Nikhilesh --- v4 Changes: - Update releas

Re: [dpdk-dev] [PATCH v1 1/2] vdpa/mlx5: workaround FW first completion in start

2021-10-15 Thread Xueming(Steven) Li
On Fri, 2021-10-15 at 15:57 +0200, Maxime Coquelin wrote: > > On 10/15/21 15:43, Xueming Li wrote: > > After a vDPA application restart, qemu restores VQ with used and > > available index, new incoming packet triggers virtio driver to > > handle buffers. Under heavy traffic, no available buffer fo

Re: [dpdk-dev] [PATCH v2 0/7] crypto/security session framework rework

2021-10-15 Thread Akhil Goyal
> > Hi Akhil, > > > > I tried to fix the problems of seg faults. > > The seg-faults are gone now but all asym tests are failing too. > > The reason is the rte_cryptodev_queue_pair_setup() checks the session > > mempool same for sym and asym. > > Since we don't have a rte_cryptodev_asym_session_pool

Re: [dpdk-dev] [PATCH v2 0/5] cryptodev: hide internal structures

2021-10-15 Thread Akhil Goyal
> > Just to let you know this patch set causes to seg-fault ipsec-secgw: > examples/ipsec-secgw/test/run_test.sh -46m > ... > [23695833.390785] dpdk-ipsec-secg[2491066]: segfault at 0 ip > 564325730963 sp 7fffb9111d00 error 4 in dpdk-ipsec- > secgw[564324df+134d000] > [23695833.39079

Re: [dpdk-dev] [PATCH v2 0/5] cryptodev: hide internal structures

2021-10-15 Thread Ananyev, Konstantin
Hi Akhil, > Structures rte_cryptodev and rte_cryptodev_data are not > supposed to be directly used by the application. These > are made public as they are used by inline datapath > public APIs. > This patchset, creates a new rte_cryptodev_core.h file > which helps in defining a data structure to

[dpdk-dev] [PATCH v13 12/12] MAINTAINERS: add entry for new packet capture features

2021-10-15 Thread Stephen Hemminger
Since the packet capture is just extension of existing pdump; add myself as maintainer of that. Signed-off-by: Stephen Hemminger --- MAINTAINERS | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index ed8becce85cd..6d95d151ba4a 100644 --- a

[dpdk-dev] [PATCH v13 11/12] doc: changes for new pcapng and dumpcap utility

2021-10-15 Thread Stephen Hemminger
Describe the new packet capture library and utility. Signed-off-by: Stephen Hemminger --- doc/api/doxy-api-index.md | 1 + doc/api/doxy-api.conf.in | 1 + .../howto/img/packet_capture_framework.svg| 96 +-- doc/guides/howto/packet_ca

[dpdk-dev] [PATCH v13 10/12] test: enable bpf autotest

2021-10-15 Thread Stephen Hemminger
The BPF autotest is defined but not run automatically. Since it is short, it should be added to the autotest suite. Signed-off-by: Stephen Hemminger Acked-by: Konstantin Ananyev --- app/test/meson.build | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/test/meson.build b/app/test/meson.

[dpdk-dev] [PATCH v13 09/12] test: add a test for pcapng library

2021-10-15 Thread Stephen Hemminger
Simple unit test that created pcapng file using API. To run this test you need to have at least one device. For example: DPDK_TEST=pcapng_autotest ./build/app/test/dpdk-test -l 0-15 \ --no-huge -m 2048 --vdev=net_tap,iface=dummy Signed-off-by: Stephen Hemminger --- app/test/meson.build |

[dpdk-dev] [PATCH v13 08/12] test: add test for bpf_convert

2021-10-15 Thread Stephen Hemminger
Add some functional tests for the Classic BPF to DPDK BPF converter. Signed-off-by: Stephen Hemminger --- app/test/test_bpf.c | 200 1 file changed, 200 insertions(+) diff --git a/app/test/test_bpf.c b/app/test/test_bpf.c index 8118a1849ba0..d3d385ce

[dpdk-dev] [PATCH v13 07/12] app/dumpcap: add new packet capture application

2021-10-15 Thread Stephen Hemminger
This is a new packet capture application to replace existing pdump. The new application works like Wireshark dumpcap program and supports the pdump API features. It is not complete yet some features such as filtering are not implemented. Signed-off-by: Stephen Hemminger --- app/dumpcap/main.c

[dpdk-dev] [PATCH v13 06/12] pdump: support pcapng and filtering

2021-10-15 Thread Stephen Hemminger
This enhances the DPDK pdump library to support new pcapng format and filtering via BPF. The internal client/server protocol is changed to support two versions: the original pdump basic version and a new pcapng version. The internal version number (not part of exposed API or ABI) is intentionally

[dpdk-dev] [PATCH v13 05/12] bpf: add function to dump eBPF instructions

2021-10-15 Thread Stephen Hemminger
When debugging converted (and other) programs it is useful to see disassembled eBPF output. Signed-off-by: Stephen Hemminger Acked-by: Konstantin Ananyev --- lib/bpf/bpf_dump.c | 139 lib/bpf/meson.build | 1 + lib/bpf/rte_bpf.h | 14 + lib

[dpdk-dev] [PATCH v13 04/12] bpf: add function to convert classic BPF to DPDK BPF

2021-10-15 Thread Stephen Hemminger
The pcap library emits classic BPF (32 bit) and is useful for creating filter programs. The DPDK BPF library only implements extended BPF (eBPF). Add an function to convert from old to new. The rte_bpf_convert function uses rte_malloc to put the resulting program in hugepage shared memory so it

[dpdk-dev] [PATCH v13 03/12] bpf: allow self-xor operation

2021-10-15 Thread Stephen Hemminger
Some BPF programs may use XOR of a register with itself as a way to zero register in one instruction. The BPF filter converter generates this in the prolog to the generated code. The BPF validator would not allow this because the value of register was undefined. But after this operation it always

[dpdk-dev] [PATCH v13 02/12] librte_pcapng: add new library for writing pcapng files

2021-10-15 Thread Stephen Hemminger
This is utility library for writing pcapng format files used by Wireshark family of utilities. Older tcpdump also knows how to read (but not write) this format. See https://github.com/pcapng/pcapng/ Signed-off-by: Stephen Hemminger --- lib/meson.build | 1 + lib/pcapng/meson.build

[dpdk-dev] [PATCH v13 01/12] lib: pdump is not supported on Windows

2021-10-15 Thread Stephen Hemminger
The current version of the pdump library was building on Windows, but it was useless since the pdump utility was not being built and Windows does not have multi-process support. The new version of pdump with filtering now has dependency on bpf. But bpf library is not available on Windows. Signed-

[dpdk-dev] [PATCH v13 00/12] Packet capture framework update

2021-10-15 Thread Stephen Hemminger
This patch set is a more complete version of the the enhanced packet capture support described last year. The new capture library and utility are: - faster avoids lots of extra I/O, does bursting, etc. - gives more information (multiple ports, queues, etc) - has a better user interface (same

Re: [dpdk-dev] [PATCH v12 02/12] librte_pcapng: add new library for writing pcapng files

2021-10-15 Thread Stephen Hemminger
On Fri, 15 Oct 2021 09:36:00 + "Pattan, Reshma" wrote: > > -Original Message- > > From: dev On Behalf Of Stephen Hemminger > > See draft RFC > > https://www.ietf.org/id/draft-tuexen-opsawg-pcapng-03.html > > The page is not found. Might need to add new link I guess > > > +enum

Re: [dpdk-dev] [EXT] Re: [Bug 828] [dpdk-21.11] zuc unit test is failing

2021-10-15 Thread Akhil Goyal
> Hello, > > On Fri, Oct 15, 2021 at 10:02 AM wrote: > > > > https://bugs.dpdk.org/show_bug.cgi?id=828 > > > > Bug ID: 828 > >Summary: [dpdk-21.11] zuc unit test is failing > >Product: DPDK > >Version: 21.11 > > Hardware: All > >

Re: [dpdk-dev] [PATCH v4 02/15] crypto: add total raw buffer length

2021-10-15 Thread Ananyev, Konstantin
> The current crypto raw data vectors is extended to support > rte_security usecases, where we need total data length to know > how much additional memory space is available in buffer other > than data length so that driver/HW can write expanded size > data after encryption. > > Signed-off-by: Gag

[dpdk-dev] [PATCH v1 1/2] vdpa/mlx5: workaround FW first completion in start

2021-10-15 Thread Xueming Li
After a vDPA application restart, qemu restores VQ with used and available index, new incoming packet triggers virtio driver to handle buffers. Under heavy traffic, no available buffer for firmware to receive new packets, no Rx interrupts generated, driver is stuck on endless interrupt waiting. As

[dpdk-dev] [PATCH v1 2/2] vdpa/mlx5: retry VAR allocation during vDPA restart

2021-10-15 Thread Xueming Li
VAR is the device memory space for the virtio queues doorbells, qemu could mmap it to directly to speed up doorbell push. On a busy system, Qemu takes time to release VAR resources during driver shutdown. If vdpa restarted quickly, the VAR allocation failed with error 28 since the VAR is singleton

Re: [dpdk-dev] [PATCH v2 0/7] crypto/security session framework rework

2021-10-15 Thread Akhil Goyal
> Hi Akhil, > > I tried to fix the problems of seg faults. > The seg-faults are gone now but all asym tests are failing too. > The reason is the rte_cryptodev_queue_pair_setup() checks the session > mempool same for sym and asym. > Since we don't have a rte_cryptodev_asym_session_pool_create() the

Re: [dpdk-dev] [PATCH v12 02/12] librte_pcapng: add new library for writing pcapng files

2021-10-15 Thread Stephen Hemminger
On Fri, 15 Oct 2021 09:36:00 + "Pattan, Reshma" wrote: > > + buf = calloc(1, len); > > + if (!buf) > > + return -1; > > How about returning -ENOMEM It could but not necessary. The other code is returning result of write and therefore would be -1 on write error. This is in i

Re: [dpdk-dev] [PATCH v4 04/15] crypto: fix raw process for multi-seg case

2021-10-15 Thread Ananyev, Konstantin
> > From: Gagandeep Singh > > If no next segment available the “for” loop will fail and it still > returns i+1 i.e. 2, which is wrong as it has filled only 1 buffer. > > Fixes: 7adf992fb9bf ("cryptodev: introduce CPU crypto API") > Cc: marcinx.smoczyn...@intel.com > Cc: sta...@dpdk.org > > Si

Re: [dpdk-dev] [PATCH v12 11/12] doc: changes for new pcapng and dumpcap

2021-10-15 Thread Stephen Hemminger
On Fri, 15 Oct 2021 16:42:19 + "Pattan, Reshma" wrote: > > @@ -0,0 +1,24 @@ > > +.. SPDX-License-Identifier: BSD-3-Clause > > +Copyright(c) 2016 Intel Corporation. > > need to edit the licence Do you want me to change date on the existing doc as well.

Re: [dpdk-dev] [PATCH v6 1/5] ethdev: introduce shared Rx queue

2021-10-15 Thread Ferruh Yigit
On 10/12/2021 3:39 PM, Xueming Li wrote: index 6d80514ba7a..041da6ee52f 100644 --- a/lib/ethdev/rte_ethdev.h +++ b/lib/ethdev/rte_ethdev.h @@ -1044,6 +1044,13 @@ struct rte_eth_rxconf { uint8_t rx_drop_en; /**< Drop packets if no descriptors are available. */ uint8_t rx_deferred_

Re: [dpdk-dev] [PATCH v6 1/3] net/thunderx: enable build only on 64-bit Linux

2021-10-15 Thread Ferruh Yigit
On 10/14/2021 8:56 PM, pbhagavat...@marvell.com wrote: From: Pavan Nikhilesh Since AARCH32 extension is not implemented on thunderx family, only enable build for 64bit. Due to Linux kernel AF(Admin function) driver dependency, only enable build for Linux. Signed-off-by: Pavan Nikhilesh Acked-

[dpdk-dev] [PATCH v5] guides: add a guide for developing unit tests

2021-10-15 Thread Aaron Conole
The DPDK testing infrastructure includes a comprehensive set of libraries, utilities, and CI integrations for developers to test their code changes. This isn't well documented, however. Document the basics for adding a test suite to the infrastructure and enabling that test suite for continuous i

Re: [dpdk-dev] [PATCH v2 1/5] hash: add new toeplitz hash implementation

2021-10-15 Thread Stephen Hemminger
On Fri, 15 Oct 2021 10:30:02 +0100 Vladimir Medvedkin wrote: > + m[i * 8 + j] = (rss_key[i] << j)| > + (uint8_t)((uint16_t)(rss_key[i + 1]) >> > + (8 - j)); > + } This ends up being harder than necessary to r

Re: [dpdk-dev] [PATCH v12 11/12] doc: changes for new pcapng and dumpcap

2021-10-15 Thread Pattan, Reshma
> -Original Message- > From: dev On Behalf Of Stephen Hemminger > +The DPDK packet capture framework was introduced in DPDK v16.07 and >+enhanced in 21.1. need to edit the version > +#. Launch the dpdk-dump as follows:: :s/dpdk-dump/dpdk-dumpcap > + Inspect packets captured in t

Re: [dpdk-dev] [EXT] Re: [PATCH v6 1/3] net/thunderx: enable build only on 64-bit Linux

2021-10-15 Thread Ferruh Yigit
On 10/15/2021 2:58 PM, Pavan Nikhilesh Bhagavatula wrote: -Original Message- From: dev On Behalf Of Ferruh Yigit Sent: Friday, October 15, 2021 4:09 PM To: Pavan Nikhilesh Bhagavatula ; Jerin Jacob Kollanukkaran ; Maciej Czekaj [C] Cc: dev@dpdk.org Subject: [EXT] Re: [dpdk-dev] [PATC

[dpdk-dev] [PATCH v2 7/7] net/ena: update version to 2.5.0

2021-10-15 Thread Michal Krawczyk
This version update contains: * Fix for verification of the offload capabilities (especially for IPv6 packets). * Support for Tx and Rx free threshold values. * Fixes for per-queue offload capabilities. * Announce support of the scattered Rx offload. * NUMA aware allocations. * Chec

[dpdk-dev] [PATCH v2 6/7] net/ena: add check for missing Tx completions

2021-10-15 Thread Michal Krawczyk
In some cases Tx descriptors may be uncompleted by the HW and as a result they will never be released. This patch adds checking for the missing Tx completions to the ENA timer service, so in order to use this feature, the application must call the function rte_timer_manage(). Missing Tx completio

[dpdk-dev] [PATCH v2 5/7] net/ena: add NUMA aware allocations

2021-10-15 Thread Michal Krawczyk
Only the IO rings memory was allocated with taking the socket ID into the respect, while the other structures was allocated using the regular rte_zmalloc() API. Ring specific structures are now being allocated using the ring's socket ID. Signed-off-by: Michal Krawczyk Reviewed-by: Igor Chauskin

[dpdk-dev] [PATCH v2 4/7] net/ena: indicate missing scattered Rx capability

2021-10-15 Thread Michal Krawczyk
ENA can't be forced to always pass single descriptor for the Rx packet. Even if the passed buffer size is big enough to hold the data, we can't make assumption that the HW won't use extra descriptor because of internal optimizations. This assumption may be true, but only for some of the FW revision

[dpdk-dev] [PATCH v2 3/7] net/ena: fix per-queue offload capabilities

2021-10-15 Thread Michal Krawczyk
PMD shouldn't advertise the same offloads as both per-queue and per-port [1]. Each offload capability should go either to the [rt]x_queue_offload_capa or [rt]x_offload_capa. As ENA currently doesn't support offloads which could be configured per-queue, only per-port flags should be set. In additi

[dpdk-dev] [PATCH v2 2/7] net/ena: support Tx/Rx free thresholds

2021-10-15 Thread Michal Krawczyk
The caller can pass Tx or Rx free threshold value to the configuration structure for each ring. It determines when the Tx/Rx function should start cleaning up/refilling the descriptors. ENA was ignoring this value and doing it's own calulcations. Now the user can configure ENA's behavior using thi

[dpdk-dev] [PATCH v2 1/7] net/ena: fix verification of the offload capabilities

2021-10-15 Thread Michal Krawczyk
ENA PMD has multiple checksum offload flags, which are more discrete than the DPDK offload capabilities flags. As the driver wasn't storing it's internal checksum offload capabilities and was relying only on the DPDK capabilities, not all scenarios could be properly covered (like when to prepare ps

[dpdk-dev] [PATCH 0/7] net/ena: update ENA PMD to v2.5.0

2021-10-15 Thread Michal Krawczyk
Hi, this version updates the driver to version 2.5.0. It mainly focuses on fixing the offload flags fixes. Other features included in this patchset are: * NUMA aware allocations for the queue specific structures * New watchdog - check for missing Tx completions * Support for [tr]x_free_thre

Re: [dpdk-dev] [PATCH 2/5] ethdev: add capability to keep shared objects on restart

2021-10-15 Thread Ferruh Yigit
On 10/15/2021 1:35 PM, Dmitry Kozlyuk wrote: -Original Message- From: Ferruh Yigit [...] Introducing UNKNOWN state seems wrong to me. What should an application do when it is reported? Now there's just no way to learn how the PMD behaves, but if it provides a response, it can't be "I do

[dpdk-dev] [PATCH v2 5/5] net/mlx5: preserve indirect actions on restart

2021-10-15 Thread Dmitry Kozlyuk
MLX5 PMD uses reference counting to manage RX queue resources. After port stop shared RSS actions kept references to RX queues, preventing resource release. As a result, internal PMD mempool for such queues had been exhausted after a number of port restarts. Diagnostic message from rte_eth_dev_star

[dpdk-dev] [PATCH v2 4/5] net/mlx5: create drop queue using DevX

2021-10-15 Thread Dmitry Kozlyuk
Drop queue creation and destruction were not implemented for DevX flow engine and Verbs engine methods were used as a workaround. Implement these methods for DevX so that there is a valid queue ID that can be used regardless of queue configuration via API. Cc: sta...@dpdk.org Signed-off-by: Dmitr

[dpdk-dev] [PATCH v2 3/5] net/mlx5: discover max flow priority using DevX

2021-10-15 Thread Dmitry Kozlyuk
Maximum available flow priority was discovered using Verbs API regardless of the selected flow engine. This required some Verbs objects to be initialized in order to use DevX engine. Make priority discovery an engine method and implement it for DevX using its API. Cc: sta...@dpdk.org Signed-off-b

[dpdk-dev] [PATCH v2 1/5] ethdev: add capability to keep flow rules on restart

2021-10-15 Thread Dmitry Kozlyuk
Currently, it is not specified what happens to the flow rules when the device is stopped, possibly reconfigured, then started. If flow rules were kept, it could be convenient for application developers, because they wouldn't need to save and restore them. However, due to the number of flows and pos

[dpdk-dev] [PATCH v2 2/5] ethdev: add capability to keep shared objects on restart

2021-10-15 Thread Dmitry Kozlyuk
rte_flow_action_handle_create() did not mention what happens with an indirect action when a device is stopped, possibly reconfigured, and started again. It is natural for some indirect actions to be persistent, like counters and meters; keeping others just saves application time and complexity. How

[dpdk-dev] [PATCH v2 0/5] Flow entites behavior on port restart

2021-10-15 Thread Dmitry Kozlyuk
It is unspecified whether flow rules and indirect actions are kept when a port is stopped, possibly reconfigured, and started again. Vendors approach the topic differently, e.g. mlx5 and i40e PMD disagree in whether flow rules can be kept, and mlx5 PMD would keep indirect actions. In the end, appli

[dpdk-dev] [PATCH v5 1/4] mempool: add event callbacks

2021-10-15 Thread Dmitry Kozlyuk
Data path performance can benefit if the PMD knows which memory it will need to handle in advance, before the first mbuf is sent to the PMD. It is impractical, however, to consider all allocated memory for this purpose. Most often mbuf memory comes from mempools that can come and go. PMD can enumer

[dpdk-dev] [PATCH v5 4/4] net/mlx5: support mempool registration

2021-10-15 Thread Dmitry Kozlyuk
When the first port in a given protection domain (PD) starts, install a mempool event callback for this PD and register all existing memory regions (MR) for it. When the last port in a PD closes, remove the callback and unregister all mempools for this PD. This behavior can be switched off with a n

[dpdk-dev] [PATCH v5 3/4] common/mlx5: add mempool registration facilities

2021-10-15 Thread Dmitry Kozlyuk
Add internal API to register mempools, that is, to create memory regions (MR) for their memory and store them in a separate database. Implementation deals with multi-process, so that class drivers don't need to. Each protection domain has its own database. Memory regions can be shared within a data

[dpdk-dev] [PATCH v5 2/4] mempool: add non-IO flag

2021-10-15 Thread Dmitry Kozlyuk
Mempool is a generic allocator that is not necessarily used for device IO operations and its memory for DMA. Add MEMPOOL_F_NON_IO flag to mark such mempools automatically a) if their objects are not contiguous; b) if IOVA is not available for any object. Other components can inspect this flag in or

[dpdk-dev] [PATCH v5 0/4] net/mlx5: implicit mempool registration

2021-10-15 Thread Dmitry Kozlyuk
MLX5 hardware has its internal IOMMU where PMD registers the memory. On the data path, PMD translates VA into a key consumed by the device IOMMU. It is impractical for the PMD to register all allocated memory because of increased lookup cost both in HW and SW. Most often mbuf memory comes from me

Re: [dpdk-dev] [PATCH v2 0/7] crypto/security session framework rework

2021-10-15 Thread Zhang, Roy Fan
Hi Akhil, I tried to fix the problems of seg faults. The seg-faults are gone now but all asym tests are failing too. The reason is the rte_cryptodev_queue_pair_setup() checks the session mempool same for sym and asym. Since we don't have a rte_cryptodev_asym_session_pool_create() the session mem

[dpdk-dev] [PATCH v3] app/test-eventdev: add burst enqueue support

2021-10-15 Thread Rashmi Shetty
This commit introduces a new command line option prod_enq_burst_sz to set burst size for eventdev enqueue at producer in perf_queue test. The newly added function perf_producer_burst is called when prod_enq_burst_sz is greater than 1. Signed-off-by: Rashmi Shetty --- v3: - Updated testeventdev.

[dpdk-dev] [PATCH v10 4/4] performance-thread: Fix cross compilation failed

2021-10-15 Thread zhihongx . peng
From: Zhihong Peng The gcc(arm-linux-gcc) will check code more stricter when ASan enabled. "strncpy specified bound XX equals destination size" error occurs here. Fixes: 116819b9ed0d ("examples/performance-thread: add lthread subsystem") Cc: sta...@dpdk.org Signed-off-by: Xueqin Lin Signed-off

[dpdk-dev] [PATCH v10 3/4] pipeline: Fix compilation error with gcc ASan

2021-10-15 Thread zhihongx . peng
From: Zhihong Peng The gcc will check code more stricter when ASan enabled. "Control reaches end of non-void function" error occurs here. Fixes: f38913b7fb8e ("pipeline: add meter array to SWX") Cc: sta...@dpdk.org Signed-off-by: Xueqin Lin Signed-off-by: Zhihong Peng --- v7: no change v8: no

[dpdk-dev] [PATCH v10 2/4] DPDK code adapts to ASan

2021-10-15 Thread zhihongx . peng
From: Zhihong Peng DPDK ASan functionality is currently only supported Linux x86_64. Support other platforms, need to define ASAN_SHADOW_OFFSET value according to google ASan document, and configure meson (config/meson.build). Here is an example of heap-buffer-overflow bug: ..

[dpdk-dev] [PATCH v10 1/4] Enable ASan for memory detector on DPDK

2021-10-15 Thread zhihongx . peng
From: Zhihong Peng `AddressSanitizer ` (ASan) is a widely-used debugging tool to detect memory access errors. It helps detect issues like use-after-free, various kinds of buffer overruns in C/C++ programs, and other similar errors, as we

Re: [dpdk-dev] [PATCH v6 1/5] ethdev: introduce shared Rx queue

2021-10-15 Thread Xueming(Steven) Li
On Fri, 2021-10-15 at 12:28 +0300, Andrew Rybchenko wrote: > On 10/12/21 5:39 PM, Xueming Li wrote: > > In current DPDK framework, each Rx queue is pre-loaded with mbufs to > > save incoming packets. For some PMDs, when number of representors scale > > out in a switch domain, the memory consumption

[dpdk-dev] [PATCH v4 14/14] test/crypto: add test for chacha20_poly1305 PMD

2021-10-15 Thread Ciara Power
From: Kai Ji An autotest is added for the new chacha20_poly1305 PMD. A new test case is also added for SGL test. Signed-off-by: Kai Ji Signed-off-by: Ciara Power Acked-by: Ray Kinsella --- v4: - This patch is newly created, having been split from the previous patch that adds chacha20_p

[dpdk-dev] [PATCH v4 13/14] crypto/ipsec_mb: add chacha20-poly1305 PMD to framework

2021-10-15 Thread Ciara Power
From: Kai Ji Add in new chacha20_poly1305 PMD to the ipsec_mb framework. Signed-off-by: Kai Ji Signed-off-by: Ciara Power Acked-by: Ray Kinsella --- v4: - Fixed some function names. - Removed unnecessary enqueued counts from process_ops function. - Fixed table label in doc. - Split i

[dpdk-dev] [PATCH v4 12/14] drivers/crypto: move zuc PMD to IPsec-mb framework

2021-10-15 Thread Ciara Power
From: Piotr Bronowski This patch removes the crypto/zuc folder and gathers all zuc PMD implementation specific details into two files, pmd_zuc.c and pmd_zuc_priv.h in the crypto/ipsec_mb folder. Signed-off-by: Piotr Bronowski Signed-off-by: Ciara Power Acked-by: Ray Kinsella --- v4: - Fixe

  1   2   3   >