Re: [PATCH] net/hns3: fix Rx packet truncation when KEEP CRC enabled

2024-06-03 Thread Andrew Rybchenko
On 6/3/24 05:33, Stephen Hemminger wrote: On Mon, 3 Jun 2024 09:38:19 +0800 Jie Hai wrote: On 2024/3/1 19:10, Ferruh Yigit wrote: On 3/1/2024 6:55 AM, huangdengdui wrote: On 2024/2/29 17:25, Ferruh Yigit wrote: On 2/29/2024 3:58 AM, huangdengdui wrote: On 2024/2/28 21:07, Ferruh Yigit

[PATCH v2 02/34] net/mlx5/hws: split the root rule creation and destruction

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik Split the root rule creation/destruction into two stages: - do the job (create/destroy rule) - generate completion Completion generation is required for the usual HWS API. The create/destroy functions that don't generate completion are exposed in header file and will be

[PATCH v2 03/34] net/mlx5/hws: add support for action type LAST

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik Add support for MLX5DR_ACTION_TYP_LAST action type. Signed-off-by: Yevgeny Kliteynik --- drivers/net/mlx5/hws/mlx5dr.h| 12 drivers/net/mlx5/hws/mlx5dr_action.c | 9 + 2 files changed, 21 insertions(+) diff --git a/drivers/net/mlx5/hws/mlx

[PATCH v2 04/34] net/mlx5/hws: add support for backward-compatible API

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik HWS API is very different from SWS and has limitations: - Queue based async insertion/deletion - Doesn’t handle complex rules - Requires the user to specify fixed matcher size – no rehash - Requires the user to specify action combination on matcher creation - Matching

RE: [PATCH v2 1/4] app/testpmd: fix the testpmd field string sequence

2024-06-03 Thread Dariusz Sosnowski
> -Original Message- > From: rongwei liu > Sent: Monday, May 27, 2024 04:47 > To: dev@dpdk.org; Matan Azrad ; Slava Ovsiienko > ; Ori Kam ; Suanming Mou > ; NBU-Contact-Thomas Monjalon (EXTERNAL) > > Cc: Michael Baum ; sta...@dpdk.org; Aman Singh > ; Yuying Zhang ; > Ferruh Yigit ; Darius

[PATCH v2 05/34] net/mlx5: initial design of non template to hws

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

[PATCH v2 06/34] net/mlx5: add dummy last action

2024-06-03 Thread Maayan Kashani
From: Bing Zhao The RTE_FLOW_ACTION_TYPE_END action needs to be translated into the MLX5DR_ACTION_TYP_LAST for the future usage. It is only needed in the hardware steering backward compatible API. Signed-off-by: Bing Zhao --- drivers/net/mlx5/mlx5.h | 1 + drivers/net/mlx5/mlx5_flow_h

[PATCH v2 07/34] net/mlx5: add basic actions support for non-template API

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

[PATCH v2 10/34] net/mlx5: fix segfault on counter pool destroy

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

[PATCH v2 12/34] common/mlx5: read connection tracking attributes

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

[PATCH v2 11/34] net/mlx5: abstract action handling and enable reconfigure

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

[PATCH v2 13/34] net/mlx5: support bulk actions in non template mode

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

[PATCH v2 08/34] net/mlx5: add default miss action support in nt2hws mode

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

[PATCH v2 14/34] net/mlx5: use non const max number for ASO actions

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

[PATCH v2 09/34] net/mlx5: add ASO actions support to non-template mode

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

[PATCH v2 15/34] net/mlx5: initial design changes

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

[PATCH v2 16/34] net/mlx5: update NTA rule pattern and actions flags

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

[PATCH v2 17/34] net/mlx5: support RSS expansion in non-template HWS setup

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

[PATCH v2 18/34] net/mlx5: support indirect actions in non-template setup

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

[PATCH v2 19/34] net/mlx5: update ASO resources in non-template setup

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

[PATCH v2 20/34] net/mlx5: update HWS ASO actions validation

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

[PATCH v2 21/34] net/mlx5: support FDB in non-template mode

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

[PATCH v2 22/34] net/mlx5: reorganize main structures

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

[PATCH v2 23/34] net/mlx5: set modify header as shared action

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

[PATCH v2 24/34] net/mlx5: set encap as shared action

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

[PATCH v2 25/34] net/mlx5: clean up TODO comments

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

[PATCH v2 26/34] net/mlx5/hws: fix bug in matcher disconnect error flow

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

[PATCH v2 27/34] net/mlx5/hws: bwc - make burst threshold dynamic

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

[PATCH v2 28/34] net/mlx5/hws: bwc - adding rules with larger action template

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

[PATCH v2 29/34] net/mlx5/hws: bwc - abort rehash on completion with error

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

[PATCH v2 30/34] net/mlx5/hws: bwc - go through all the resized matchers

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

[PATCH v2 32/34] net/mlx5/hws: bwc - fix deleting action stes

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

[PATCH v2 31/34] net/mlx5/hws: bwc - reorg rule resize struct

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

Re: [PATCH v2 4/5] dts: add `show port info` command to TestPmdShell

2024-06-03 Thread Luca Vizzarro
On 31/05/2024 22:06, Jeremy Spewock wrote: +class DeviceCapabilitiesFlag(Flag): +"""Flag representing the device capabilities.""" + +RUNTIME_RX_QUEUE_SETUP = auto() +"""Device supports Rx queue setup after device started.""" +RUNTIME_TX_QUEUE_SETUP = auto() +"""Device suppor

Re: [PATCH] net/i40e: increase descriptor queue length to 8160

2024-06-03 Thread Igor Gutorov
On Mon, May 27, 2024 at 7:20 PM Igor Gutorov wrote: > > According to the Intel X710/XXV710/XL710 Datasheet, the maximum receive > queue descriptor length is 0x1FE0 (8160 in base 10). This is specified > as QLEN in table 8-12, page 1083. > > I've tested this change with an XXV710 NIC and it has pos

[PATCH v3 2/3] net/mlx5/hws: add support for action type LAST

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik Add support for MLX5DR_ACTION_TYP_LAST action type. Signed-off-by: Yevgeny Kliteynik --- drivers/net/mlx5/hws/mlx5dr.h| 12 drivers/net/mlx5/hws/mlx5dr_action.c | 9 + 2 files changed, 21 insertions(+) diff --git a/drivers/net/mlx5/hws/mlx

[PATCH v3 1/3] net/mlx5/hws: split the root rule creation and destruction

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik Split the root rule creation/destruction into two stages: - do the job (create/destroy rule) - generate completion Completion generation is required for the usual HWS API. The create/destroy functions that don't generate completion are exposed in header file and will be

[PATCH v3 3/3] net/mlx5/hws: add support for backward-compatible API

2024-06-03 Thread Maayan Kashani
From: Yevgeny Kliteynik HWS API is very different from SWS and has limitations: - Queue based async insertion/deletion - Doesn’t handle complex rules - Requires the user to specify fixed matcher size – no rehash - Requires the user to specify action combination on matcher creation - Matching

[PATCH v3 02/11] net/mlx5: add dummy last action

2024-06-03 Thread Maayan Kashani
From: Bing Zhao The RTE_FLOW_ACTION_TYPE_END action needs to be translated into the MLX5DR_ACTION_TYP_LAST for the future usage. It is only needed in the hardware steering backward compatible API. Signed-off-by: Bing Zhao --- drivers/net/mlx5/mlx5.h | 1 + drivers/net/mlx5/mlx5_flow_h

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Re: zxdh: add zxdh poll mode driver

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

[PATCH 0/5] OpenSSL PMD Optimisations

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Re: Depends-on

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

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

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

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

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

  1   2   >