[PATCH 13/13] ethdev: remove deprecated flow action PHY PORT

2022-08-12 Thread Ivan Malov
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove. The patch breaks ABI. Signed-off-by: Ivan Malov Reviewed-by: Andrew Rybchenko --- app/test-pmd/cmdline_flow.c | 35 - doc/guides/nics/features/bnxt.ini | 1 -

[PATCH 12/13] ethdev: remove deprecated flow item PHY PORT

2022-08-12 Thread Ivan Malov
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove. The patch breaks ABI. Signed-off-by: Ivan Malov Reviewed-by: Andrew Rybchenko --- app/test-pmd/cmdline_flow.c | 24 -- doc/guides/nics/features/bnxt.ini | 1 - doc/gui

[PATCH 11/13] ethdev: remove deprecated flow item VF

2022-08-12 Thread Ivan Malov
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove. The patch breaks ABI. Signed-off-by: Ivan Malov Reviewed-by: Andrew Rybchenko --- app/test-pmd/cmdline_flow.c | 25 - doc/guides/nics/features/bnxt.ini | 1 - doc/guides

[PATCH 10/13] ethdev: remove deprecated flow item PF

2022-08-12 Thread Ivan Malov
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove. The patch breaks ABI. Signed-off-by: Ivan Malov Reviewed-by: Andrew Rybchenko --- app/test-pmd/cmdline_flow.c | 9 doc/guides/nics/features/bnxt.ini | 1 - doc/guide

[PATCH 09/13] doc: rework VF-related explanations in switch representation

2022-08-12 Thread Ivan Malov
The paragraph describing flow operation without representors shows the use of traffic direction attributes in combination with attribute "transfer". Such scenario has been deprecated. Also, the paragraph mentions the use of deprecated action VF. Drop irrelevant parts, adjust remaining text and the

[PATCH 08/13] doc: add new port items and actions to switch representation

2022-08-12 Thread Ivan Malov
Items PORT_REPRESENTOR and REPRESENTED_PORT as well as their action counterparts have been a part of the flow library for a year already. However, these haven't been described in the switch representation guide. Provide the missing description. Also, update relevant testpmd flow rule examples acco

[PATCH 07/13] doc: revisit outdated flow rule examples in testpmd tutorial

2022-08-12 Thread Ivan Malov
There are testpmd examples which demonstrate flow alteration and steering between endpoints using outdated action PORT_ID. Revisit these examples to make use of new port-based actions. Signed-off-by: Ivan Malov Reviewed-by: Andrew Rybchenko --- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 48 +

[PATCH 06/13] app/testpmd: add port steering targets to sample flow action

2022-08-12 Thread Ivan Malov
Allow the use of actions PORT_REPRESENTOR / REPRESENTED_PORT as targets in "set sample_actions" command. Signed-off-by: Ivan Malov Reviewed-by: Andrew Rybchenko --- app/test-pmd/cmdline_flow.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/

[PATCH 04/13] net/dpaa2: support represented port flow action

2022-08-12 Thread Ivan Malov
There's been support for similar actions PHY_PORT and PORT_ID for some time already, but these actions are being deprecated. Support action REPRESENTED_PORT to prepare for the transition. Signed-off-by: Ivan Malov Reviewed-by: Andrew Rybchenko --- doc/guides/nics/features/dpaa2.ini | 1 +

[PATCH 05/13] net/cnxk: support represented port flow action

2022-08-12 Thread Ivan Malov
There has been support for similar action PORT_ID for some time already, but this action will be deprecated. Support action REPRESENTED_PORT before the transition. Signed-off-by: Ivan Malov Reviewed-by: Andrew Rybchenko --- doc/guides/nics/cnxk.rst | 5 + doc/guides/nics/featu

[PATCH 03/13] ethdev: remove experimental tag from flow transfer proxy API

2022-08-12 Thread Ivan Malov
rte_flow_pick_transfer_proxy() was first added to DPDK 21.11. Since then, no one has requested any fixes. At the same time, the API is required by series [1] in OvS for the new release. [1] http://patchwork.ozlabs.org/project/openvswitch/list/?series=310415 Signed-off-by: Ivan Malov Reviewed-by:

[PATCH 02/13] ethdev: strip experimental tag off port ID items and actions

2022-08-12 Thread Ivan Malov
The following set of primitives has been introduced in 21.11: - RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR - RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT - RTE_FLOW_ITEM_TYPE_PORT_REPRESENTOR - RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT Since then, no one has requested any fixes. At the same time, the set is requir

[PATCH 00/13] ethdev: proceed with flow subsystem rework

2022-08-12 Thread Ivan Malov
Series [1] requires that certain experimental flow features in DPDK be promoted to stable. Also, reviewers request that some drivers be adjusted to support flow action REPRESENTED_PORT. This series takes care of that and also proceeds to remove deprecated items / actions. Nevertheless, actions PF

[PATCH 01/13] ethdev: strip experimental tag off Rx metadata negotiate API

2022-08-12 Thread Ivan Malov
rte_eth_rx_metadata_negotiate() was introduced in DPDK 21.11. Since then, no one has requested any fixes. At the same time, the API is required by series [1] in OvS for the new release. [1] http://patchwork.ozlabs.org/project/openvswitch/list/?series=310415 Signed-off-by: Ivan Malov Reviewed-by:

[PATCH v2 3/3] net/cnxk: introduce pool sort capability

2022-08-12 Thread Hanumanth Pothula
Presently, HW is programmed only to receive packets from LPB pool. Making all packets received from LPB pool. But, CNXK HW supports two pools, - SPB -> packets with smaller size (less than 4K) - LPB -> packets with bigger size (greater than 4K) Patch enables pool sorting capability, pool is sel

[PATCH v2 2/3] app/testpmd: add command line argument 'rxseg-mode'

2022-08-12 Thread Hanumanth Pothula
With rxseg-mode command line argument, application can choose either buffer split or pool sort capability. This might be helpful if HW has support for both capabilities and application wants to enable one of them. By default, buffer-split capability is enabled to enable pool-sort capability pass c

[PATCH v2 1/3] ethdev: introduce pool sort capability

2022-08-12 Thread Hanumanth Pothula
Presently, the 'Buffer Split' feature supports sending multiple segments of the received packet to PMD, which programs the HW to receive the packet in segments from different pools. This patch extends the feature to support the pool sort capability. Some of the HW has support for choosing memory p

RE: [PATCH v3 1/4] eventdev/timer: add periodic event timer support

2022-08-12 Thread Naga Harish K, S V
Hi Gabe, > -Original Message- > From: Carrillo, Erik G > Sent: Friday, August 12, 2022 12:52 AM > To: Naga Harish K, S V ; jer...@marvell.com > Cc: pbhagavat...@marvell.com; sthot...@marvell.com; dev@dpdk.org > Subject: RE: [PATCH v3 1/4] eventdev/timer: add periodic event timer > support

[PATCH v4 3/4] timer: fix function to stop all timers

2022-08-12 Thread Naga Harish K S V
There is a possibility of deadlock in this API, as same spinlock is tried to be acquired in nested manner. If the lcore that is stopping the timer is different from the lcore that owns the timer, the timer list lock is acquired in timer_del(), even if local_is_locked is true. Because the same lock

[PATCH v4 2/4] event/sw: report periodic event timer capability

2022-08-12 Thread Naga Harish K S V
update the software eventdev pmd timer_adapter_caps_get callback function to report the support of periodic event timer capability Signed-off-by: Naga Harish K S V --- drivers/event/sw/sw_evdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/event/sw/sw_evdev.c b/dr

[PATCH v4 4/4] test/event: update periodic event timer tests

2022-08-12 Thread Naga Harish K S V
This patch updates the software timer adapter tests to configure and use periodic event timers. Signed-off-by: Naga Harish K S V --- app/test/test_event_timer_adapter.c | 41 ++--- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/app/test/test_event_timer_ad

[PATCH v4 1/4] eventdev/timer: add periodic event timer support

2022-08-12 Thread Naga Harish K S V
This patch adds support to configure and use periodic event timers in software timer adapter. The structure ``rte_event_timer_adapter_stats`` is extended by adding a new field, ``evtim_drop_count``. This stat represents the number of times an event_timer expiry event is dropped by the event timer

[PATCH 00/13] ethdev: proceed with flow subsystem rework

2022-08-12 Thread Ivan Malov
Series [1] requires that certain experimental flow features in DPDK be promoted to stable. Also, reviewers request that some drivers be adjusted to support flow action REPRESENTED_PORT. This series takes care of that and also proceeds to remove deprecated items / actions. Nevertheless, actions PF

RE: [PATCH v1 1/1] ethdev: introduce pool sort capability

2022-08-12 Thread Morten Brørup
> From: Hanumanth Pothula [mailto:hpoth...@marvell.com] > Sent: Friday, 12 August 2022 12.47 > > Presently, the 'Buffer Split' feature supports sending multiple > segments of the received packet to PMD, which programs the HW > to receive the packet in segments from different pools. > > This patch

[PATCH 3/3] test/crypto: add OOP snow3g SGL tests

2022-08-12 Thread Ciara Power
More tests are added to test variations of OOP SGL for snow3g. This includes LB_IN_SGL_OUT and SGL_IN_LB_OUT. Signed-off-by: Ciara Power --- app/test/test_cryptodev.c | 48 +++ 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/app/test/test_crypto

[PATCH 2/3] crypto/ipsec_mb: add remaining SGL support

2022-08-12 Thread Ciara Power
The intel-ipsec-mb library supports SGL for GCM and ChaChaPoly algorithms using the JOB API. This support was added to AESNI_MB PMD previously, but the SGL feature flags could not be added due to no SGL support for other algorithms. This patch adds a workaround SGL approach for other algorithms us

[PATCH 1/3] test/crypto: fix wireless auth digest segment

2022-08-12 Thread Ciara Power
The segment size for some tests was too small to hold the auth digest. This caused issues when using op->sym->auth.digest.data for comparisons in AESNI_MB PMD after a subsequent patch enables SGL. For example, if segment size is 2, and digest size is 4, then 4 bytes are read from op->sym->auth.dig

[PATCH 0/3] add remaining SGL support to AESNI_MB

2022-08-12 Thread Ciara Power
Currently, the intel-ipsec-mb library only supports SGL for GCM and ChaCha20-Poly1305 algorithms through the JOB API. To add SGL support for other algorithms, a workaround approach is added in the AESNI_MB PMD. SGL feature flags can now be added to the PMD. This patchset also includes a fix for S

[PATCH 3/3] net/sfc: clarify Rx buffer size calculation

2022-08-12 Thread Ivan Malov
The user has the right to supply pools with excessively large buffers, regardless of the maximum supported Rx packet length reported by the adapter. However, in this PMD, on EF10 boards, a Rx descriptor has only 14 bits to specify the buffer length. To avoid potential problems, use this informatio

[PATCH 2/3] common/sfc_efx/base: report maximum Rx descriptor data count

2022-08-12 Thread Ivan Malov
Such information is useful to client drivers which deal with large Rx pool buffers (16-bit wide data count) and thus need to avoid overflow when setting EF10's 14-bit wide data count. Signed-off-by: Ivan Malov Reviewed-by: Andrew Rybchenko --- drivers/common/sfc_efx/base/ef10_nic.c | 1 + dri

[PATCH 1/3] common/sfc_efx/base: fix assignment of maximum Tx data count

2022-08-12 Thread Ivan Malov
Maximum data count of a Tx descriptor is advertised to users, however, this value is mistakenly derived from the Rx define. Use the Tx one instead. The resulting value will be the same. Fixes: 1e43fe3cb41e ("net/sfc/base: separate limitations on Tx DMA descriptors") Cc: sta...@dpdk.org Signed-off

[PATCH v1 5/5] examples/fips_validation: add asymmetric validation

2022-08-12 Thread Gowrishankar Muthukrishnan
Add support for asymmetric crypto validation starting with RSA. For the generation of crypto values which is multiprecision in math, openssl library is used only for this purpose. Signed-off-by: Gowrishankar Muthukrishnan --- config/meson.build| 6 + doc/guides/samp

[PATCH v1 4/5] examples/fips_validation: fix buffer size to parse JSON string

2022-08-12 Thread Gowrishankar Muthukrishnan
In asym op, while parsing test interim info, existing buffer of size 256 bytes is not sufficient, hence setting it to maximum that a test would need. Fixes: 58cc98801eb ("examples/fips_validation: add JSON parsing") Signed-off-by: Gowrishankar Muthukrishnan --- examples/fips_validation/fips_val

[PATCH v1 3/5] examples/fips_validation: add function to calculate SHA hash size

2022-08-12 Thread Gowrishankar Muthukrishnan
Add function to calculate hash size for a given SHA hash algorithm. Fixes: d5c247145c2 ("examples/fips_validation: add parsing for SHA") Signed-off-by: Gowrishankar Muthukrishnan --- examples/fips_validation/fips_validation.h| 3 ++ .../fips_validation/fips_validation_sha.c | 39 ++

[PATCH v1 2/5] examples/fips_validation: add interim parse writeback

2022-08-12 Thread Gowrishankar Muthukrishnan
Asym tests need a callback to write interim info in expected output. Signed-off-by: Gowrishankar Muthukrishnan --- examples/fips_validation/fips_validation.c | 6 ++ examples/fips_validation/fips_validation.h | 1 + 2 files changed, 7 insertions(+) diff --git a/examples/fips_validation/fips

[PATCH v1 1/5] examples/fips_validation: fix parsing test group info

2022-08-12 Thread Gowrishankar Muthukrishnan
If a test group does not have expected key, it should not crash. This patch fixes parsing test group info to continue further when a key does not exist (as in asym tests). Fixes: 58cc98801eb ("examples/fips_validation: add JSON parsing") Signed-off-by: Gowrishankar Muthukrishnan --- examples/fi

[PATCH v1 0/5] FIPS asymmetric validation

2022-08-12 Thread Gowrishankar Muthukrishnan
This patch series adds support in fips_validation app to perform asymmetric validation. To start with, RSA algorithm is used in the evaluation. For the key value pairs which is multiprecision in arithmetic, openssl library is used. Gowrishankar Muthukrishnan (5): examples/fips_validation: fix pa

[PATCH v2 2/2] examples/fips_validation: add parsing for TDES

2022-08-12 Thread Gowrishankar Muthukrishnan
Added function to parse algorithm for TDES CBC and ECB tests in json. Signed-off-by: Gowrishankar Muthukrishnan --- doc/guides/sample_app_ug/fips_validation.rst | 2 + examples/fips_validation/fips_validation.c| 3 + examples/fips_validation/fips_validation.h| 4 + .../fips_valida

[PATCH v2 1/2] examples/fips_validation: share test callback with multiple keys

2022-08-12 Thread Gowrishankar Muthukrishnan
Make use of key param in test callbacks so that, test callback can be shared with multiple keys. Signed-off-by: Gowrishankar Muthukrishnan --- examples/fips_validation/fips_validation.c | 27 +++--- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/examples/fips_vali

[PATCH v1] examples/fips_validation: fix parsing SHA test type from JSON vector

2022-08-12 Thread Gowrishankar Muthukrishnan
Store SHA test type in its own interim info struct instead of AES. Fixes: d5c247145c2 ("examples/fips_validation: add parsing for SHA") Signed-off-by: Gowrishankar Muthukrishnan --- examples/fips_validation/fips_validation_sha.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[PATCH v2] examples/fips_validation: fix memory allocation in AES MCT test

2022-08-12 Thread Gowrishankar Muthukrishnan
Instead of allocating memory in every external iteration, do once in the beginning of AES MCT tests and free at the end. Fixes: 8b8546aaedf ("examples/fips_validation: add parsing for AES-CBC") Signed-off-by: Gowrishankar Muthukrishnan --- v2: - commit message. --- examples/fips_validation/mai

[PATCH v1 1/1] ethdev: introduce pool sort capability

2022-08-12 Thread Hanumanth Pothula
Presently, the 'Buffer Split' feature supports sending multiple segments of the received packet to PMD, which programs the HW to receive the packet in segments from different pools. This patch extends the feature to support the pool sort capability. Some of the HW has support for choosing memory p

[PATCH 4/4] net/ice: support buffer split in Rx path

2022-08-12 Thread Yuan Wang
This patch adds support for protocol based buffer split in normal Rx data paths. When the Rx queue is configured with specific protocol type, packets received will be directly split into protocol header and payload parts limitation of ice pmd. And the two parts will be put into different mempools.

[PATCH 2/4] ethdev: introduce protocol hdr based buffer split

2022-08-12 Thread Yuan Wang
Currently, Rx buffer split supports length based split. With Rx queue offload RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT enabled and Rx packet segment configured, PMD will be able to split the received packets into multiple segments. However, length based buffer split is not suitable for NICs that do split b

[PATCH 3/4] app/testpmd: add rxhdrs commands and parameters

2022-08-12 Thread Yuan Wang
Add command line parameter: --rxhdrs=mac,[ipv4,udp] Set the protocol_hdr of segments to scatter packets on receiving if split feature is engaged. And the queues with BUFFER_SPLIT flag. Add interactive mode command: testpmd>set rxhdrs mac,ipv4,tcp,udp,sctp (protocol sequence should be valid) The

[PATCH 1/4] ethdev: introduce protocol header API

2022-08-12 Thread Yuan Wang
Add a new ethdev API to retrieve supported protocol headers of a PMD, which helps to configure protocol header based buffer split. Signed-off-by: Yuan Wang Signed-off-by: Xuan Ding Signed-off-by: Wenxuan Wu --- doc/guides/rel_notes/release_22_11.rst | 5 lib/ethdev/ethdev_driver.h

[PATCH 0/4] support protocol based buffer split

2022-08-12 Thread Yuan Wang
Protocol type based buffer split consists of splitting a received packet into several separate segments based on the packet content. It is useful in some scenarios, such as GPU acceleration. The splitting will help to enable true zero copy and hence improve the performance significantly. This patc

[PATCH v7 11/12] net/nfp: move rxtx function to header file

2022-08-12 Thread Chaoyong He
Flower makes use of the same Rx and Tx checksum logic as the normal PMD. Expose it so that flower can make use of it. Signed-off-by: Chaoyong He Signed-off-by: Heinrich Kuhn Reviewed-by: Niklas Söderlund --- drivers/net/nfp/nfp_common.c| 2 +- drivers/net/nfp/nfp_ethdev.c| 2 +- driv

[PATCH v7 12/12] net/nfp: add flower PF rxtx logic

2022-08-12 Thread Chaoyong He
Implements the flower Rx logic. Fallback packets are multiplexed to the correct representor port based on the prepended metadata. The Rx poll is set to run on the existing service infrastructure. For Tx the existing NFP Tx logic is duplicated to keep the Tx two paths distinct. Flower fallback also

[PATCH v7 10/12] net/nfp: add flower representor framework

2022-08-12 Thread Chaoyong He
Adds the framework to support flower representors. The number of VF representors are parsed from the command line. For physical port representors the current logic aims to create a representor for each physical port present on the hardware. An eth_dev is created for each physical port and VF, and

[PATCH v7 09/12] net/nfp: add flower ctrl VNIC rxtx logic

2022-08-12 Thread Chaoyong He
Adds a Rx and Tx function for the ctrl VNIC. The logic is mostly identical to the normal Rx and Tx functionality of the NFP PMD. Make use of the ctrl VNIC service logic to service the ctrl VNIC Rx path. Signed-off-by: Chaoyong He Signed-off-by: Heinrich Kuhn Reviewed-by: Niklas Söderlund ---

[PATCH v7 08/12] net/nfp: move common rxtx function for flower use

2022-08-12 Thread Chaoyong He
Move some common Rx and Tx logic to the rxtx header file so that they can be re-used by flower tx and rx logic. Signed-off-by: Chaoyong He Signed-off-by: Heinrich Kuhn Reviewed-by: Niklas Söderlund --- drivers/net/nfp/nfp_rxtx.c | 32 +--- drivers/net/nfp/nfp_rxtx.h

[PATCH v7 07/12] net/nfp: add flower ctrl VNIC related logics

2022-08-12 Thread Chaoyong He
Adds the setup/start logic for the ctrl vNIC. This vNIC is used by the PMD and flower firmware as a communication channel between driver and firmware. In the case of OVS it is also used to communicate flow statistics from hardware to the driver. A rte_eth device is not exposed to DPDK for this vNI

[PATCH v7 06/12] net/nfp: add flower PF related routines

2022-08-12 Thread Chaoyong He
Adds the start/stop/close routine of the flower PF vNIC. And we reuse the configure/link_update routine. Signed-off-by: Chaoyong He Reviewed-by: Niklas Söderlund --- drivers/net/nfp/flower/nfp_flower.c | 186 1 file changed, 186 insertions(+) diff --git a/d

[PATCH v7 05/12] net/nfp: add flower PF setup and mempool init logic

2022-08-12 Thread Chaoyong He
Adds the vNIC initialization logic for the flower PF vNIC. The flower firmware exposes this vNIC for the purposes of fallback traffic in the switchdev use-case. The logic of setting up this vNIC is similar to the logic seen in nfp_net_init() and nfp_net_start(). Adds minimal dev_ops for this PF d

[PATCH v7 04/12] net/nfp: add initial flower firmware support

2022-08-12 Thread Chaoyong He
Adds the basic probing infrastructure to support the flower firmware. This firmware is geared towards offloading OVS and can generally be found in /lib/firmware/netronome/flower. It is also used by the NFP kernel driver when OVS offload with TC is desired. Adds the basic infrastructure needed by t

[PATCH v7 03/12] net/nfp: move app specific init logic to own function

2022-08-12 Thread Chaoyong He
The NFP card can load different firmware applications. This commit move the init logic of corenic app of the secondary process into its own function. Signed-off-by: Chaoyong He Reviewed-by: Niklas Söderlund --- drivers/net/nfp/nfp_ethdev.c | 90 +--- 1 fi

[PATCH v7 02/12] net/nfp: simplify initialization and remove dead code

2022-08-12 Thread Chaoyong He
Calling nfp_net_init() is only done for the corenic firmware flavor and it is guaranteed to always be called from the primary process, so the explicit check for RTE_PROC_PRIMARY can be dropped. The calling graph of nfp_net_init() already guaranteed the free of resources when it fail, so remove the

[PATCH v7 01/12] net/nfp: move app specific attributes to own struct

2022-08-12 Thread Chaoyong He
The NFP Card can load different firmware applications. Currently only the CoreNIC application is supported. This commit makes needed infrastructure changes in order to support other firmware applications too. Clearer separation is made between the PF device and any application specific concepts. T

[PATCH v7 00/12] preparation for the rte_flow offload of nfp PMD

2022-08-12 Thread Chaoyong He
This is the first patch series to add the support of rte_flow offload for nfp PMD, includes: Add the support of flower firmware Add the support of representor port Add the flower service infrastructure Add the cmsg interactive channels between pmd and fw * Changes since v6 - Fix the compile error

[PATCH 4/4] pipeline: add instruction support for moving large structure fields

2022-08-12 Thread Cristian Dumitrescu
Add support to the move instruction for operands bigger than 64 bits. Signed-off-by: Cristian Dumitrescu Signed-off-by: Harshad Suresh Narayane --- lib/pipeline/rte_swx_pipeline.c | 71 + lib/pipeline/rte_swx_pipeline_internal.h | 78 ++-- 2 file

[PATCH 3/4] pipeline: support large default action arguments

2022-08-12 Thread Cristian Dumitrescu
Support structure fields bigger than 64 bits as default action arguments. Signed-off-by: Cristian Dumitrescu Signed-off-by: Harshad Suresh Narayane --- lib/pipeline/rte_swx_pipeline.c | 89 + 1 file changed, 78 insertions(+), 11 deletions(-) diff --git a/lib/pip

[PATCH 2/4] pipeline: read large structure fields on the control path

2022-08-12 Thread Cristian Dumitrescu
Support reading structure fields that are bigger than 64 bits on the control path for the table update operations. Signed-off-by: Cristian Dumitrescu Signed-off-by: Harshad Suresh Narayane --- lib/pipeline/rte_swx_ctl.c | 357 +++-- 1 file changed, 298 insertions

[PATCH 1/4] pipeline: remove the 64-bit limit for structure fields

2022-08-12 Thread Cristian Dumitrescu
Remove the generic limitation of structure fields to 64 bits or less and push this restriction to the instructions that require it. Signed-off-by: Cristian Dumitrescu Signed-off-by: Harshad Suresh Narayane --- lib/pipeline/rte_swx_pipeline.c | 104 ++- lib/pipeline/

[PATCH 0/4] pipeline: support large structure fields

2022-08-12 Thread Cristian Dumitrescu
This patch set adds support for structure fields bigger than 64 bits. These fields can be packet header or meta-data fields. They can be used as part of the table lookup key or as action arguments. They are now valid operands for the move instruction. This is required for supporting the 128-bit IP

[PATCH v6 12/12] net/nfp: add flower PF rxtx logic

2022-08-12 Thread Chaoyong He
Implements the flower Rx logic. Fallback packets are multiplexed to the correct representor port based on the prepended metadata. The Rx poll is set to run on the existing service infrastructure. For Tx the existing NFP Tx logic is duplicated to keep the Tx two paths distinct. Flower fallback also

[PATCH v6 11/12] net/nfp: move rxtx function to header file

2022-08-12 Thread Chaoyong He
Flower makes use of the same Rx and Tx checksum logic as the normal PMD. Expose it so that flower can make use of it. Signed-off-by: Chaoyong He Signed-off-by: Heinrich Kuhn Reviewed-by: Niklas Söderlund --- drivers/net/nfp/nfp_common.c| 2 +- drivers/net/nfp/nfp_ethdev.c| 2 +- driv

[PATCH v6 10/12] net/nfp: add flower representor framework

2022-08-12 Thread Chaoyong He
Adds the framework to support flower representors. The number of VF representors are parsed from the command line. For physical port representors the current logic aims to create a representor for each physical port present on the hardware. An eth_dev is created for each physical port and VF, and

[PATCH v6 09/12] net/nfp: add flower ctrl VNIC rxtx logic

2022-08-12 Thread Chaoyong He
Adds a Rx and Tx function for the ctrl VNIC. The logic is mostly identical to the normal Rx and Tx functionality of the NFP PMD. Make use of the ctrl VNIC service logic to service the ctrl VNIC Rx path. Signed-off-by: Chaoyong He Signed-off-by: Heinrich Kuhn Reviewed-by: Niklas Söderlund ---

[PATCH v6 08/12] net/nfp: move common rxtx function for flower use

2022-08-12 Thread Chaoyong He
Move some common Rx and Tx logic to the rxtx header file so that they can be re-used by flower tx and rx logic. Signed-off-by: Chaoyong He Signed-off-by: Heinrich Kuhn Reviewed-by: Niklas Söderlund --- drivers/net/nfp/nfp_rxtx.c | 32 +--- drivers/net/nfp/nfp_rxtx.h

[PATCH v6 07/12] net/nfp: add flower ctrl VNIC related logics

2022-08-12 Thread Chaoyong He
Adds the setup/start logic for the ctrl vNIC. This vNIC is used by the PMD and flower firmware as a communication channel between driver and firmware. In the case of OVS it is also used to communicate flow statistics from hardware to the driver. A rte_eth device is not exposed to DPDK for this vNI

[PATCH v6 06/12] net/nfp: add flower PF related routines

2022-08-12 Thread Chaoyong He
Adds the start/stop/close routine of the flower PF vNIC. And we reuse the configure/link_update routine. Signed-off-by: Chaoyong He Reviewed-by: Niklas Söderlund --- drivers/net/nfp/flower/nfp_flower.c | 186 1 file changed, 186 insertions(+) diff --git a/d

[PATCH v6 05/12] net/nfp: add flower PF setup and mempool init logic

2022-08-12 Thread Chaoyong He
Adds the vNIC initialization logic for the flower PF vNIC. The flower firmware exposes this vNIC for the purposes of fallback traffic in the switchdev use-case. The logic of setting up this vNIC is similar to the logic seen in nfp_net_init() and nfp_net_start(). Adds minimal dev_ops for this PF d

[PATCH v6 04/12] net/nfp: add initial flower firmware support

2022-08-12 Thread Chaoyong He
Adds the basic probing infrastructure to support the flower firmware. This firmware is geared towards offloading OVS and can generally be found in /lib/firmware/netronome/flower. It is also used by the NFP kernel driver when OVS offload with TC is desired. Adds the basic infrastructure needed by t

[PATCH v6 03/12] net/nfp: move app specific init logic to own function

2022-08-12 Thread Chaoyong He
The NFP card can load different firmware applications. This commit move the init logic of corenic app of the secondary process into its own function. Signed-off-by: Chaoyong He Reviewed-by: Niklas Söderlund --- drivers/net/nfp/nfp_ethdev.c | 90 +--- 1 fi

[PATCH v6 02/12] net/nfp: simplify initialization and remove dead code

2022-08-12 Thread Chaoyong He
Calling nfp_net_init() is only done for the corenic firmware flavor and it is guaranteed to always be called from the primary process, so the explicit check for RTE_PROC_PRIMARY can be dropped. The calling graph of nfp_net_init() already guaranteed the free of resources when it fail, so remove the

[PATCH v6 01/12] net/nfp: move app specific attributes to own struct

2022-08-12 Thread Chaoyong He
The NFP Card can load different firmware applications. Currently only the CoreNIC application is supported. This commit makes needed infrastructure changes in order to support other firmware applications too. Clearer separation is made between the PF device and any application specific concepts. T

[PATCH v6 00/12] preparation for the rte_flow offload of nfp PMD

2022-08-12 Thread Chaoyong He
This is the first patch series to add the support of rte_flow offload for nfp PMD, includes: Add the support of flower firmware Add the support of representor port Add the flower service infrastructure Add the cmsg interactive channels between pmd and fw * Changes since v5 - Compare integer with 0

[PATCH v2 5/5] net/iavf: support priority of flow rule

2022-08-12 Thread Jie Wang
Add flow rule attribute "priority" support for AVF. Lower values denote higher priority, the highest priority for a flow rule is 0. Signed-off-by: Jie Wang --- drivers/net/iavf/iavf_fdir.c | 4 drivers/net/iavf/iavf_fsub.c | 2 +- drivers/net/iavf/iavf_generic_flow.c | 23

[PATCH v2 4/5] net/iavf: support flow subscription rule

2022-08-12 Thread Jie Wang
Support flow subscribption create/destroy/validation flow rule for AVF. For examples: testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 11 / end actions represented_port port_id 1 / end testpmd> flow validate 1 ingress pattern eth / ipv4 / tcp src is 22 / end actio

[PATCH v2 3/5] net/iavf: support flow subscrption pattern

2022-08-12 Thread Jie Wang
Add flow subscription pattern support for AVF. The supported patterns are listed below: eth/vlan/ipv4 eth/ipv4(6) eth/ipv4(6)/udp eth/ipv4(6)/tcp Signed-off-by: Jie Wang --- drivers/net/iavf/iavf.h | 7 + drivers/net/iavf/iavf_fsub.c | 598 ++- 2 files cha

[PATCH v2 2/5] net/iavf: add flow subscription to AVF

2022-08-12 Thread Jie Wang
Add the skeletal code of flow subscription to AVF driver. Signed-off-by: Jie Wang --- doc/guides/rel_notes/release_22_11.rst | 4 + drivers/net/iavf/iavf_fsub.c | 112 + drivers/net/iavf/iavf_generic_flow.c | 17 +++- drivers/net/iavf/iavf_generic_flow.h

[PATCH v2 1/5] common/iavf: support flow subscription

2022-08-12 Thread Jie Wang
VF is able to subscribe a flow from PF by VIRTCHNL_FLOW_SUBSCRIBE. PF is expected to offload a rule to hardware which will redirect the packet that matching the required pattern to this VF. Only a flow with dst mac address as PF's mac address can be subscribed. VIRTCHNL_VF_OFFLOAD_FSUB_PF is use

[PATCH v2 0/5] support flow subscription

2022-08-12 Thread Jie Wang
Add support AVF can be able to subscribe a flow from PF. -- v2: * split v1 patch 2/2 to 4 small patches. * remove rule action RTE_FLOW_ACTION_TYPE_VF and add RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT. Jie Wang (5): common/iavf: support flow subscription net/iavf: add flow subscription to AV

[PATCH 2/2] net/iavf: support inner and outer checksum offload

2022-08-12 Thread peng1x . zhang
From: Peng Zhang Add the support of inner and outer Tx checksum offload for tunneling packets by configuring tunneling parameters in Tx descriptors, including outer L3/L4 checksum offload. Signed-off-by: Peng Zhang --- drivers/net/iavf/iavf_ethdev.c | 3 +- drivers/net/iavf/iavf_rxtx.c | 51

[PATCH 1/2] net/iavf: enable TSO offloading for tunnel cases

2022-08-12 Thread peng1x . zhang
From: Peng Zhang Hardware limits that max buffer size per Tx descriptor should be (16K-1)B. So when TSO enabled under unencrypt scenario, the mbuf data size may exceed the limit and cause malicious behavior to the NIC. This patch supports Tx descriptors for this kind of large buffer. Signed-off

[PATCH] security: remove get_userdata function pointer

2022-08-12 Thread Srujana Challa
Removes get_userdata function pointer as it is being unused and make fast accessing method that uses dynamic field to get userdata as default for optimizing security path. Signed-off-by: Srujana Challa --- app/test/test_security.c | 166 --- doc/guides/nics/fe

RE: [EXT] [dpdk-dev v1] lib/cryptodev: multi-process IPC request handler

2022-08-12 Thread Akhil Goyal
> > > > Instead an "in_use" parameter can be added which can tell if sone other > > process is using it or not. > > And this in_use param also need not be exposed to user. It can be > > completely hidden in the PMD. > > User will get an error number(probably -EUSERS) indicating the queue pair is >

RE: [EXT] [dpdk-dev v1] lib/cryptodev: multi-process IPC request handler

2022-08-12 Thread Zhang, Roy Fan
HI Akhil, > -Original Message- > From: Akhil Goyal > Sent: Monday, August 8, 2022 8:43 AM > To: Zhang, Roy Fan ; Ji, Kai ; > dev@dpdk.org > Cc: Anoob Joseph ; hemant.agra...@nxp.com; > Chandubabu Namburu ; Ruifeng Wang > ; ajit.khapa...@broadcom.com; Michael Shamis > ; Nagadheeraj Rottela

[PATCH v2] vhost: support CPU copy for small packets

2022-08-12 Thread Wenwu Ma
Offloading small packets to DMA degrades throughput 10%~20%, and this is because DMA offloading is not free and DMA is not good at processing small packets. In addition, control plane packets are usually small, and assign those packets to DMA will significantly increase latency, which may cause tim