[dpdk-dev] [PATCH v3 2/2] net/cnxk: support rte flow on cn20k

2024-11-12 Thread psatheesh
From: Satheesh Paul Support for rte flow in cn20k. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/net/cnxk/cn10k_flow.c | 227 ++--- drivers/net/cnxk/cn10k_flow.h | 10 +- drivers/net/cnxk/cn20k_ethdev.c| 4 + drivers/net/c

[dpdk-dev] [PATCH v3 1/2] common/cnxk: support NPC flow on cn20k

2024-11-12 Thread psatheesh
From: Satheesh Paul ROC changes to support NPC flow on cn20k. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- v2: * Fixed generic platform compiler error. v3: * Removed compile time macros. drivers/common/cnxk/roc_mbox.h | 144 +- drivers/common/cnxk/roc_nix.h

[dpdk-dev] [PATCH v2 1/2] common/cnxk: support NPC flow on cn20k

2024-10-29 Thread psatheesh
From: Satheesh Paul ROC changes to support NPC flow on cn20k. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- v2: * Fixed generic platform compiler error. drivers/common/cnxk/roc_mbox.h | 144 +- drivers/common/cnxk/roc_nix.h | 18 +- drivers/common/cnxk/r

[dpdk-dev] [PATCH v2 2/2] net/cnxk: support rte flow on cn20k

2024-10-29 Thread psatheesh
From: Satheesh Paul Support for rte flow in cn20k. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/net/cnxk/cn10k_ethdev.c| 8 +- drivers/net/cnxk/cn10k_flow.h | 21 -- drivers/net/cnxk/cn20k_ethdev.c| 4 + drivers/net/cnxk/cnxk_ethdev_devargs

[dpdk-dev] [PATCH 2/2] net/cnxk: support rte flow on cn20k

2024-10-20 Thread psatheesh
From: Satheesh Paul Support for rte flow in cn20k. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/net/cnxk/cn10k_ethdev.c| 8 +- drivers/net/cnxk/cn10k_flow.h | 21 -- drivers/net/cnxk/cn20k_ethdev.c| 4 + drivers/net/cnxk/cnxk_ethdev_devargs

[dpdk-dev] [PATCH 1/2] common/cnxk: support NPC flow on cn20k

2024-10-20 Thread psatheesh
From: Satheesh Paul ROC changes to support NPC flow on cn20k. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_mbox.h | 144 +- drivers/common/cnxk/roc_nix.h | 18 +- drivers/common/cnxk/roc_nix_mcast.c | 40 +- drivers/common/cn

[dpdk-dev] [PATCH] common/cnxk: fix flow aging application exit

2024-06-17 Thread psatheesh
From: Kiran Kumar K If flow aging is enabled application termination may take time equivalent to aging timeout. This is because on termination flow thread uses a sleep call which is uninterruptible. Fixes: 357f5ebc8a24 ("common/cnxk: support flow aging") Cc: sta...@dpdk.org Signed-off-by: Kiran

[dpdk-dev] [PATCH] common/cnxk: fix flow aging cleanup

2024-05-08 Thread psatheesh
From: Satheesh Paul The aged flows poll thread is not stopped before NPC cleanup resulting in a segmentation fault. Fixing this by stopping aged flows poll thread before proceeding with NPC cleanup. Fixes: 357f5ebc8a24 ("common/cnxk: support flow aging") Cc: sta...@dpdk.org Signed-off-by: Sathe

[dpdk-dev] [PATCH v2 2/2] common/cnxk: fix possible out-of-bounds access

2024-02-29 Thread psatheesh
From: Satheesh Paul The subtraction expression in mbox_memcpy() can wrap around causing an out-of-bounds access. Added a check on 'size' to fix this. Coverity issue: 384431, 384439 Fixes: 585bb3e538f9 ("common/cnxk: add VF support to base device class") Cc: sta...@dpdk.org Signed-off-by: Sathee

[dpdk-dev] [PATCH v2 1/2] common/cnxk: remove dead code

2024-02-29 Thread psatheesh
From: Satheesh Paul Removed dead code reported by Coverity. Coverity issue: 380992 Fixes: da1ec39060b2 ("common/cnxk: delay inline device RQ enable to dev start") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Nithin Dabilpuram --- v2: * Split the patch and updated commit messa

[dpdk-dev] [PATCH] common/cnxk: fix Coverity issues

2024-02-27 Thread psatheesh
From: Satheesh Paul Fix Out-of-bounds access and remove dead code reported by Coverity. Coverity issue: 384431, 384439, 380992 Fixes: 585bb3e538f9 ("common/cnxk: add VF support to base device class") Fixes: da1ec39060b2 ("common/cnxk: delay inline device RQ enable to dev start") Cc: sta...@dpdk.

[dpdk-dev] [PATCH] net/cnxk: fix aged flows query

2024-02-01 Thread psatheesh
From: Satheesh Paul After all aged flows are destroyed, the aged_flows bitmap is free-ed. Querying aged flows tries to access this bitmap resulting in a segmentation fault. Fixing this by not accessing the bitmap if no aged flows are present. Fixes: 357f5ebc8a24 ("common/cnxk: support flow aging

[dpdk-dev] [PATCH] net/cnxk: fix issue with RSS configuration for cnxk

2023-12-14 Thread psatheesh
From: Kiran Kumar K While creating a RSS rule, if no RSS types are specified, use RSS types from dev config. Fixes: bc778a17fa46 ("net/cnxk: support flow RSS") Cc: sta...@dpdk.org Signed-off-by: Kiran Kumar K Reviewed-by: Satheesh Paul --- drivers/net/cnxk/cnxk_flow.c | 15 ++- 1

[dpdk-dev] [PATCH v2 3/3] common/cnxk: add egress mirror support

2023-12-14 Thread psatheesh
From: Satha Rao Added ROC api to send packets on multiple links when egress mirror enabled. Signed-off-by: Satha Rao Reviewed-by: Nithin Dabilpuram Reviewed-by: Kiran Kumar K Reviewed-by: Satheesh Paul --- drivers/common/cnxk/roc_nix.h| 2 + drivers/common/cnxk/roc_nix_tm_ops.c | 7

[dpdk-dev] [PATCH v2 2/3] net/cnxk: support mirror flow action

2023-12-14 Thread psatheesh
From: Satheesh Paul Added RTE_FLOW_ACTION_TYPE_SAMPLE action type for cnxk device. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- doc/guides/nics/features/cnxk.ini | 1 + doc/guides/rel_notes/release_24_03.rst | 1 + drivers/net/cnxk/cnxk_flow.c | 121 +

[dpdk-dev] [PATCH v2 1/3] common/cnxk: support mirror flow action

2023-12-14 Thread psatheesh
From: Satheesh Paul Add ROC API to support mirror flow action. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- v2: * Updated release notes. Depends-on: series-30556 ("common/cnxk: support PPPoE flow item type in ROC API") drivers/common/cnxk/roc_mbox.h | 56 +++

[dpdk-dev] [PATCH v2 2/2] net/cnxk: support PPPoE flow item type

2023-12-14 Thread psatheesh
From: Satheesh Paul Support to parse RTE_FLOW_ITEM_TYPE_PPPOES rte_flow item type for cnxk device. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- doc/guides/nics/features/cnxk.ini | 1 + doc/guides/nics/features/cnxk_vec.ini | 1 + doc/guides/nics/features/cnxk_vf.ini | 1

[dpdk-dev] [PATCH v2 1/2] common/cnxk: support PPPoE flow item type in ROC API

2023-12-14 Thread psatheesh
From: Satheesh Paul Added ROC API changes to parse RTE_FLOW_ITEM_TYPE_PPPOES rte_flow item type. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- v2: * Updated release notes. drivers/common/cnxk/roc_npc.h | 1 + drivers/common/cnxk/roc_npc_parse.c | 5 + 2 files changed,

[dpdk-dev] [PATCH 3/3] common/cnxk: add egress mirror support

2023-12-14 Thread psatheesh
From: Satha Rao Added ROC api to send packets on multiple links when egress mirror enabled. Signed-off-by: Satha Rao Reviewed-by: Nithin Dabilpuram Reviewed-by: Kiran Kumar K Reviewed-by: Satheesh Paul --- drivers/common/cnxk/roc_nix.h| 2 + drivers/common/cnxk/roc_nix_tm_ops.c | 7

[dpdk-dev] [PATCH 2/3] net/cnxk: support mirror flow action

2023-12-14 Thread psatheesh
From: Satheesh Paul Added RTE_FLOW_ACTION_TYPE_SAMPLE action type for cnxk device. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- doc/guides/nics/features/cnxk.ini | 1 + drivers/net/cnxk/cnxk_flow.c | 121 -- 2 files changed, 115 insertions(+),

[dpdk-dev] [PATCH 1/3] common/cnxk: support mirror flow action

2023-12-14 Thread psatheesh
From: Satheesh Paul Add ROC API to support mirror flow action. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_mbox.h | 56 + drivers/common/cnxk/roc_nix.h | 8 ++- drivers/common/cnxk/roc_nix_mcast.c | 86 +++

[dpdk-dev] [PATCH 2/2] net/cnxk: support PPPoE flow item type

2023-12-13 Thread psatheesh
From: Satheesh Paul Support to parse RTE_FLOW_ITEM_TYPE_PPPOES rte_flow item type for cnxk device. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- doc/guides/nics/features/cnxk.ini | 1 + doc/guides/nics/features/cnxk_vec.ini | 1 + doc/guides/nics/features/cnxk_vf.ini | 1 +

[dpdk-dev] [PATCH 1/2] common/cnxk: support PPPoE flow item type in ROC API

2023-12-13 Thread psatheesh
From: Satheesh Paul Added ROC API changes to parse RTE_FLOW_ITEM_TYPE_PPPOES rte_flow item type. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc.h | 1 + drivers/common/cnxk/roc_npc_parse.c | 5 + 2 files changed, 6 insertions(+) diff --git a

[dpdk-dev] [PATCH v2] drivers: add represented port flow item for cnxk

2023-12-05 Thread psatheesh
From: Satheesh Paul Adding support for represented port flow item for cnxk device. Signed-off-by: Kiran Kumar K Signed-off-by: Satheesh Paul --- v2: * Fix issue with flow key alg for cnxk. doc/guides/nics/features/cnxk.ini| 1 + doc/guides/nics/features/cnxk_vf.ini | 1 + drivers/com

[dpdk-dev] [PATCH] common/cnxk: add ROC API to get MKEX capability

2023-11-07 Thread psatheesh
From: Satheesh Paul Added ROC API to get MKEX capability. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc.c | 24 drivers/common/cnxk/roc_npc.h | 1 + drivers/common/cnxk/version.map | 1 + 3 files changed, 26 insertions(+

[dpdk-dev] [PATCH] common/cnxk: fix setting channel mask for SDP interfaces

2023-11-06 Thread psatheesh
From: Satheesh Paul Channel mask field is incorrectly returned as 16 bits. Fixing it by truncating to 12 bits. Fixes: 2703f1fa3200 ("common/cnxk: fix setting channel mask for SDP interfaces") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul --- drivers/common/cnxk/roc_npc.c | 5 +++-- drive

[dpdk-dev] [PATCH 2/2] drivers: add represented port flow item for cnxk

2023-09-04 Thread psatheesh
From: Kiran Kumar K Adding support for represented port flow item for cnxk device. Signed-off-by: Kiran Kumar K Reviewed-by: Satheesh Paul --- doc/guides/nics/features/cnxk.ini| 1 + doc/guides/nics/features/cnxk_vf.ini | 1 + drivers/common/cnxk/roc_npc.c| 59 ---

[dpdk-dev] [PATCH 1/2] common/cnxk: limit RSS key config with RTE Flow operations

2023-09-04 Thread psatheesh
From: Kiran Kumar K Limit the configuring RSS key with RTE Flow operations for cnxk device. Key can be update only with dev operations using rte_eth_dev_rss_hash_update. Signed-off-by: Kiran Kumar K Reviewed-by: Jerin Jacob --- drivers/common/cnxk/roc_npc.c | 33 ++

[dpdk-dev] [PATCH ] common/cnxk: fix ROC naming convention

2023-08-17 Thread psatheesh
From: Satheesh Paul Fix ROC code naming convention. Fixes: d110c44d29e7 ("common/cnxk: support flow aging") Signed-off-by: Satheesh Paul Reviewed-by: Jerin Jacob --- drivers/common/cnxk/roc_npc.h | 2 +- drivers/common/cnxk/roc_npc_aging.c | 14 +- 2 files changed, 10 inse

[dpdk-dev] [PATCH ] common/cnxk: fix setting default flow action

2023-07-30 Thread psatheesh
From: Satheesh Paul For MCAM rules with PF/VF action, the PF's default rule action is is copied and overwritten over the user provided action. Fixing this by setting default action only if no other action (like queue) is specified by user. Fixes: a07f7ced436def ("common/cnxk: add NPC init and fi

[dpdk-dev] [PATCH 2/2] net/cnxk: adding IPv6 routing ext flow type for cnxk

2023-07-02 Thread psatheesh
From: Satheesh Paul Adding support to parse RTE_FLOW_ITEM_TYPE_IPV6_ROUTING_EXT rte_flow type for cnxk device. Signed-off-by: Kiran Kumar K Signed-off-by: Satheesh Paul --- doc/guides/nics/features/cnxk.ini| 1 + doc/guides/nics/features/cnxk_vf.ini | 1 + drivers/net/cnxk/cnxk_flow.c

[dpdk-dev] [PATCH 1/2] common/cnxk: add IPv6 routing ext flow type for cnxk

2023-07-02 Thread psatheesh
From: Kiran Kumar K Adding support to parse IPV6 routing ext flow type for cnxk. Signed-off-by: Kiran Kumar K Reviewed-by: Satheesh Paul Tested-by: Jerin Jacob --- drivers/common/cnxk/roc_npc.h | 17 + drivers/common/cnxk/roc_npc_mcam_dump.c | 3 +++ drivers/common

[dpdk-dev] [PATCH] net/cnxk: fix incorrect queue index validation

2023-06-20 Thread psatheesh
From: Satheesh Paul When creating a flow rule directing traffic from PF to VF, current validation is incorrectly checking the RQ index in flow action with the PF's maximum configured RQs. This validation is applicable only when action target is an RQ of the PF. The validation has been modified ac

[dpdk-dev] [PATCH v3] net/cnxk: support port ID flow action item

2023-06-12 Thread psatheesh
From: Satheesh Paul Currently PORT_ID action can redirect traffic only between VFs of a PF. This patch extends PORT_ID action to redirect traffic from one PF port to another PF port also. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- v2: * Updated release notes. v3: * Rebased and

[dpdk-dev] [PATCH v2] net/cnxk: support port ID flow action item

2023-06-12 Thread psatheesh
From: Satheesh Paul Currently PORT_ID action can redirect traffic only between VFs of a PF. This patch extends PORT_ID action to redirect traffic from one PF port to another PF port also. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- v2: * Updated release notes. doc/guides/rel_

[dpdk-dev] [PATCH] net/cnxk: support port ID flow action item

2023-06-09 Thread psatheesh
From: Satheesh Paul Currently PORT_ID action can redirect traffic only between VFs of a PF. This patch extends PORT_ID action to redirect traffic from one PF port to another PF port also. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc.c | 29 +

[dpdk-dev] [PATCH] net/cnxk: add spec for SPI to SA action for cnxk

2023-06-05 Thread psatheesh
From: Kiran Kumar K Adding spec for MS_28_25 Flow action for cnxk device. Signed-off-by: Kiran Kumar K Reviewed-by: Nithin Kumar Dabilpuram --- drivers/net/cnxk/rte_pmd_cnxk.h | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/net/cnxk/rte_pmd_cnxk.h b/drivers/n

[dpdk-dev] [PATCH v2 2/2] net/cnxk: support Tx queue flow pattern item

2023-05-23 Thread psatheesh
From: Satheesh Paul Added support for Tx queue flow pattern item. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- doc/guides/nics/features/cnxk.ini | 1 + doc/guides/nics/features/cnxk_vec.ini | 1 + doc/guides/nics/features/cnxk_vf.ini | 1 + doc/guides/nics/features/default

[dpdk-dev] [PATCH v2 1/2] common/cnxk: support Tx queue flow pattern in ROC API

2023-05-23 Thread psatheesh
From: Satheesh Paul Added ROC API changes to support Tx queue flow pattern item. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- v2: * Updated documentation for Tx queue pattern item and verified generated documents as well. drivers/common/cnxk/roc_npc.c | 16 +--- dr

[dpdk-dev] [PATCH v2 2/2] net/cnxk: support Tx queue flow pattern item

2023-05-22 Thread psatheesh
From: Satheesh Paul Added support for Tx queue flow pattern item. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- doc/guides/nics/features/cnxk.ini | 1 + doc/guides/nics/features/cnxk_vec.ini | 1 + doc/guides/nics/features/cnxk_vf.ini | 1 + doc/guides/nics/features/default

[dpdk-dev] [PATCH v2 1/2] common/cnxk: support Tx queue flow pattern in ROC API

2023-05-22 Thread psatheesh
From: Satheesh Paul Added ROC API changes to support Tx queue flow pattern item. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- v2: * Updated documentation for Tx queue pattern item and verified generated documents as well. drivers/common/cnxk/roc_npc.c | 16 +--- dr

[dpdk-dev] [PATCH 2/2] net/cnxk: support Tx queue flow pattern item

2023-05-18 Thread psatheesh
From: Satheesh Paul Added support for Tx queue flow pattern item. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/net/cnxk/cnxk_flow.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/cnxk/cnxk_flow.c b/drivers/net/cnxk/cnxk_flow.c index f

[dpdk-dev] [PATCH 1/2] common/cnxk: support Tx queue flow pattern in ROC API

2023-05-18 Thread psatheesh
From: Satheesh Paul Added ROC API changes to support Tx queue flow pattern item. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- Depends-on: series-28056 ("ethdev: add Tx queue flow matching item") drivers/common/cnxk/roc_npc.c | 16 +--- drivers/common/cnxk/roc_npc.h

[dpdk-dev] [PATCH 2/2] common/cnxk: fix uninitialized pointer read

2023-05-18 Thread psatheesh
From: Satheesh Paul Fix uninitialized pointer read reported in coverity scan. Coverity issue: 375811 Fixes: 84d2ea9d4fb3 ("common/cnxk: support custom pre L2 header parsing as raw") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc_pa

[dpdk-dev] [PATCH 1/2] common/cnxk: fix setting channel mask for SDP interfaces

2023-05-18 Thread psatheesh
From: Satheesh Paul Channel mask for SDP interfaces are by default set to a constant value. Fix this by setting mask calculated from the channel base and channel count configured in NIX LF. Fixes: f1375660 ("common/cnxk: support setting channel mask for SDP interfaces") Cc: sta...@dpdk.org

[dpdk-dev] [PATCH 2/2] common/cnxk: fix SPI to SA index destroy

2023-03-12 Thread psatheesh
From: Satheesh Paul While destroying SPI to SA index rule, inline device mbox should be used. Adding changes to fix this. Fixes: 04087b781484 ("common/cnxk: support SPI to SA index") Signed-off-by: Kiran Kumar K Signed-off-by: Satheesh Paul --- drivers/common/cnxk/roc_npc.c | 14 +++

[dpdk-dev] [PATCH 1/2] common/cnxk: support SPI to SA translation action

2023-03-12 Thread psatheesh
From: Kiran Kumar K Support SPI to SA index translation action with SPI bits MS_28_25. Signed-off-by: Kiran Kumar K Reviewed-by: Satheesh Paul Reviewed-by: Nithin Dabilpuram --- drivers/common/cnxk/roc_npc.c | 4 drivers/common/cnxk/roc_npc.h | 1 + 2 files changed, 5 insertions(+) dif

[dpdk-dev] [PATCH] common/cnxk: fix IPv6 extension header parsing

2023-02-21 Thread psatheesh
From: Satheesh Paul RTE_FLOW_ITEM_TYPE_IPV6_EXT and RTE_FLOW_ITEM_TYPE_IPV6_FRAG_EXT pattern items can be specified following a RTE_FLOW_ITEM_TYPE_IPV6. Modified layer C parsing logic to handle this. Fixes: a800675b06f9 ("net/cnxk: support IPv6 fragment flow pattern item") Cc: sta...@dpdk.org S

[dpdk-dev] [PATCH] common/cnxk: support IPv6 field hash in RTE Flow

2023-02-14 Thread psatheesh
From: Satheesh Paul CN103xx has the field hash feature which can hash 128 bit values to 32 bit values. The hashed value can be used in MCAM keys thereby freeing up space in the key. This patch adds support to make use of this hardware feature to hash IPv6 addresses and put them in the MCAM keys.

[dpdk-dev] [PATCH v2 3/3] common/cnxk: fix inline IPsec rule creation

2023-02-10 Thread psatheesh
From: Satheesh Paul Use inline IPsec device to create IPsec rules irrespective of RTE_ETH_RX_OFFLOAD_SECURITY offload flag. Fixes: 1aa86a170e27 ("drivers: support IPsec rule reservation scheme") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Nithin Dabilpuram Reviewed-by: Kiran

[dpdk-dev] [PATCH v2 2/3] common/cnxk: fix printing IPsec flow rules

2023-02-10 Thread psatheesh
From: Satheesh Paul When dumping flow data, dump preallocated IPsec rules also. Fixes: 1aa86a170e27 ("drivers: support IPsec rule reservation scheme") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Jerin Jacob Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc.c

[dpdk-dev] [PATCH v2 1/3] common/cnxk: fix channel mask for SDP interfaces

2023-02-10 Thread psatheesh
From: Satheesh Paul Fix channel mask of SDP interfaces on CN10K. Fixes: f1375660 ("common/cnxk: support setting channel mask for SDP interfaces") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- v2: * Corrected "Fixes:" tag with 12 char sha1 drivers/commo

[dpdk-dev] [PATCH 3/3] common/cnxk: fix inline IPsec rule creation

2023-02-09 Thread psatheesh
From: Satheesh Paul Use inline IPsec device to create IPsec rules irrespective of RTE_ETH_RX_OFFLOAD_SECURITY offload flag. Fixes: 1aa86a170e ("drivers: support IPsec rule reservation scheme") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Nithin Dabilpuram Reviewed-by: Kiran K

[dpdk-dev] [PATCH 2/3] common/cnxk: fix printing IPsec flow rules

2023-02-09 Thread psatheesh
From: Satheesh Paul When dumping flow data, dump preallocated IPsec rules also. Fixes: 1aa86a170e ("drivers: support IPsec rule reservation scheme") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Jerin Jacob Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc.c

[dpdk-dev] [PATCH 1/3] common/cnxk: fix channel mask for SDP interfaces

2023-02-09 Thread psatheesh
From: Satheesh Paul Fix channel mask of SDP interfaces on CN10K. Fixes: f137566333 ("common/cnxk: support setting channel mask for SDP interfaces") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc.c | 9 +++-- drivers/commo

[dpdk-dev] [PATCH] common/cnxk: fix second pass flow rule layer type

2023-01-30 Thread psatheesh
From: Satheesh Paul When installing flow rule for second pass packets, set the LA LTYPE to LA_CPT_HDR. Fixes: 4968b362b63 ("common/cnxk: support CPT second pass flow rules") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc_mcam.c

[dpdk-dev] [PATCH] common/cnxk: fix issue with IPv6 ext matching

2023-01-11 Thread psatheesh
From: Kiran Kumar K While configuring ipv6 flow, ipv6 ext ltype should be matched along with ipv6. Adding changes to fix this issue. Fixes: 474e275b1bc6 ("common/cnxk: support extensions attributes in IPv6 item") Cc: sta...@dpdk.org Signed-off-by: Kiran Kumar K Reviewed-by: Satheesh Paul ---

[dpdk-dev] [PATCH v2 4/4] common/cnxk: fix dual VLAN parsing issue

2023-01-10 Thread psatheesh
From: Satheesh Paul Flow parsing was not handling pattern matching on the fields of inner VLAN even though MKEX profile could be extracting inner VLAN fields. Code has been modified to handle matching fields on two VLAN tags. Fixes: c34ea71b878 ("common/cnxk: add NPC parsing API") Cc: sta...@dpd

[dpdk-dev] [PATCH v2 3/4] drivers: add IPsec rule reservation scheme for cnxk

2023-01-10 Thread psatheesh
From: Kiran Kumar K For inline IPsec device, reserve number of rules specified by ``max_ipsec_rules`` and use them while installing rules with action as security. Rule priority should be 0. If specified number of rules not available, then only available number of rules will be allocated and used.

[dpdk-dev] [PATCH v2 2/4] net/cnxk: introduce flag for flow validate

2023-01-10 Thread psatheesh
From: Kiran Kumar K Add a flag to check flow validate. In case of MSNS don't need to configure the API to SA translation while validating the flow. Skip this with a check. Signed-off-by: Kiran Kumar K Reviewed-by: Satheesh Paul --- drivers/net/cnxk/cnxk_flow.c | 9 + 1 file changed, 5

[dpdk-dev] [PATCH v2 1/4] common/cnxk: support SPI to SA index

2023-01-10 Thread psatheesh
From: Satheesh Paul In case of IPsec, the inbound SPI can be random. HW supports mapping SPI to an arbitrary SA index. SPI to SA index is done using a lookup in NPC cam entry with key as SPI, MATCH_ID, LFID. Adding mailbox API changes to configure the match table and adding rte flow driver change

[dpdk-dev] [PATCH] net/cnxk: support flow info API

2022-12-19 Thread psatheesh
From: Satheesh Paul Implement rte_flow_info_get API to get the maximum number of counters and meters. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- Depends-on: patch-26075 ("common/cnxk: fix dual VLAN parsing issue") drivers/net/cnxk/cn10k_ethdev.c| 1 + drivers/net/cnxk/c

[dpdk-dev] [PATCH v2] common/cnxk: fix dual VLAN parsing issue

2022-12-11 Thread psatheesh
From: Satheesh Paul Flow parsing was not handling pattern matching on the fields of inner VLAN even though MKEX profile could be extracting inner VLAN fields. Code has been modified to handle matching fields on two VLAN tags. Fixes: c34ea71b878 ("common/cnxk: add NPC parsing API") Cc: sta...@dpd

[dpdk-dev] [PATCH] common/cnxk: fix dual VLAN parsing issue

2022-11-30 Thread psatheesh
From: Satheesh Paul Flow parsing was not handling pattern matching on the fields of inner VLAN even though MKEX profile could be extracting inner VLAN fields. Code has been modified to handle matching fields on two VLAN tags. Fixes: c34ea71b878 ("common/cnxk: add NPC parsing API") Cc: sta...@dpd

[dpdk-dev] [PATCH] drivers: add IPsec rule reservation scheme for cnxk

2022-11-30 Thread psatheesh
From: Kiran Kumar K For inline IPsec device, reserve number of rules specified by ``max_ipsec_rules`` and use them while installing rules with action as security. Rule priority should be 0. If specified number of rules not available, then only available number of rules will be allocated and used.

[dpdk-dev] [PATCH 2/2] net/cnxk: add validate flag for RTE flow for cnxk

2022-11-30 Thread psatheesh
From: Kiran Kumar K Add a flag to check flow validate. In case of MSNS don't need to configure the API to SA translation while validating the flow. Skip this with a check. Signed-off-by: Kiran Kumar K Reviewed-by: Satheesh Paul --- drivers/net/cnxk/cnxk_flow.c | 9 + 1 file changed, 5

[dpdk-dev] [PATCH 1/2] common/cnxk: add RTE Flow support for SPI to SA index

2022-11-30 Thread psatheesh
From: Satheesh Paul In case of IPsec, the inbound SPI can be random. HW supports mapping SPI to an arbitrary SA index. SPI to SA index is done using a lookup in NPC cam entry with key as SPI, MATCH_ID, LFID. Adding Mbox API changes to configure the match table. And adding RTE FLow changes to prog

[dpdk-dev] [PATCH] common/cnxk: mask LA ltype for second pass for cnxk

2022-11-30 Thread psatheesh
From: Kiran Kumar K While installing flow rule, if user provide item type as RTE_FLOW_ITEM_TYPE_ETH, it should be applied to both first and second pass. Adding changes to mask the ltype to match both. Signed-off-by: Kiran Kumar K Reviewed-by: Satheesh Paul --- drivers/common/cnxk/roc_npc_mcam

[dpdk-dev] [PATCH] common/cnxk: move ICMP ltype to end of enum

2022-11-30 Thread psatheesh
From: Kiran Kumar K While configuring the RSS key, mask has been created to match multiple ltypes for L4. Since ICMP is placed in between, it is also being considered for RSS. So, moving the ICMP to end of enum. Signed-off-by: Kiran Kumar K Reviewed-by: Jerin Jacob --- drivers/common/cnxk/hw/

[dpdk-dev] [PATCH] common/cnxk: add changes in base rule merging

2022-09-21 Thread psatheesh
From: Kiran Kumar K Added changes to base rule install mechanism. If action type is IPsec and multi channel is set, then base rule will not be merged. Signed-off-by: Kiran Kumar K Reviewed-by: Satheesh Paul Antonysamy --- drivers/common/cnxk/roc_npc_mcam.c | 12 +++- 1 file changed, 1

[dpdk-dev] [PATCH] common/cnxk: fix missing RTE Flow counter reset

2022-09-12 Thread psatheesh
From: Satheesh Paul Added code to clear counters upon flow deletion. Fixes: f9af9080746 ("common/cnxk: add mcam utility API") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar Kokkilagadda --- drivers/common/cnxk/roc_npc_mcam.c | 4 +++- 1 file changed, 3 insertions(+

[dpdk-dev] [PATCH v2 3/3] common/cnxk: update MKEX capability flags

2022-08-28 Thread psatheesh
From: Satheesh Paul Update MKEX capability flags to enable parsing VLAN PCP, DSCP and GTPv1 TEID. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- v2: * Fixed clang build issue drivers/common/cnxk/roc_npc_mcam.c | 86 -- drivers/common/cnxk/roc_npc_priv

[dpdk-dev] [PATCH v2 2/3] common/cnxk: print counters along with flow dump

2022-08-28 Thread psatheesh
From: Satheesh Paul When dumping hardware flow data, print any counter configured on the flow as well. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc_mcam_dump.c | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/co

[dpdk-dev] [PATCH v2 1/3] common/cnxk: fix printing disabled MKEX registers

2022-08-28 Thread psatheesh
From: Satheesh Paul This patch skips printing disabled MKEX registers when dumping hardware flow MCAM entry data. Fixes: 9869c39918 ("common/cnxk: support flow entry dump") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc_mcam_dump.c

[dpdk-dev] [PATCH] examples/ipsec-secgw: fix flow pattern buffer overrun

2022-08-03 Thread psatheesh
From: Satheesh Paul This patch fixes the patterns buffer overrun issue reported by Coverity. Coverity issue: 379236 Fixes: 8d0cdaa2d7 ("examples/ipsec-secgw: support mark and security flow action") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Akhil Goyal --- examples/ipsec-

[dpdk-dev] [PATCH 3/3] common/cnxk: update MKEX capability flags

2022-07-31 Thread psatheesh
From: Satheesh Paul Update MKEX capability flags to enable parsing VLAN PCP, DSCP and GTPv1 TEID. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc_mcam.c | 86 -- drivers/common/cnxk/roc_npc_priv.h | 12 +++-- 2 files changed,

[dpdk-dev] [PATCH 2/3] common/cnxk: print counters along with flow dump

2022-07-31 Thread psatheesh
From: Satheesh Paul When dumping hardware flow data, print any counter configured on the flow as well. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc_mcam_dump.c | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/co

[dpdk-dev] [PATCH 1/3] common/cnxk: fix printing disabled MKEX registers

2022-07-31 Thread psatheesh
From: Satheesh Paul This patch skips printing disabled MKEX registers when dumping hardware flow MCAM entry data. Fixes: 9869c39918 ("common/cnxk: support flow entry dump") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc_mcam_dump.c

[dpdk-dev] [PATCH] common/cnxk: fix log level during MCAM allocation

2022-07-04 Thread psatheesh
From: Satheesh Paul Changed log level from info to debug for a log message printed during MCAM allocation. Fixes: 1f66919817ee ("common/cnxk: improve MCAM entries management") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar Kokkilagadda --- drivers/common/cnxk/roc_n

[dpdk-dev] [PATCH] common/cnxk: fix GRE tunnel parsing issue

2022-06-22 Thread psatheesh
From: Satheesh Paul After parsing GRE tunnel, parse subsequent protocols (for example, TCP or UDP) as tunneled versions. Fixes: c34ea71b878 ("common/cnxk: add NPC parsing API") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/roc_npc_parse.c

[dpdk-dev] [PATCH v5] examples/ipsec-secgw: support more flow patterns and actions

2022-06-21 Thread psatheesh
From: Satheesh Paul Added support to create flow rules with count, mark and security actions and mark pattern. Signed-off-by: Satheesh Paul --- v5: * Rebased the patch. v4: * Added more description in documenation for flow rule options. v3: * Fixed IPv4 and IPv6 dst addr setting in flow pattern

[dpdk-dev] [PATCH v4] examples/ipsec-secgw: support more flow patterns and actions

2022-06-17 Thread psatheesh
From: Satheesh Paul Added support to create flow rules with count, mark and security actions and mark pattern. Signed-off-by: Satheesh Paul --- v4: * Added more description in documenation for flow rule options. v3: * Fixed IPv4 and IPv6 dst addr setting in flow pattern spec v2: * Updated docum

[dpdk-dev] [PATCH v2] common/cnxk: add ROC API to free MCAM entry

2022-06-15 Thread psatheesh
From: Satheesh Paul Add ROC API to free the given MCAM entry. If the MCAM entry has flow counter associated, this API will clear and free the flow counter. Signed-off-by: Satheesh Paul Reviewed-by: Jerin Jacob --- v2: * Removed unnecessary variable initialization drivers/common/cnxk/roc_npc.

[dpdk-dev] [PATCH] common/cnxk: add ROC API to free MCAM entry

2022-06-02 Thread psatheesh
From: Satheesh Paul Add ROC API to free the given MCAM entry. If the MCAM entry has flow counter associated, this API will clear and free the flow counter. Signed-off-by: Satheesh Paul Reviewed-by: Jerin Jacob Kollanukkaran --- drivers/common/cnxk/roc_npc.c | 63 +++-

[dpdk-dev] [PATCH v3] examples/ipsec-secgw: support more flow patterns and actions

2022-06-02 Thread psatheesh
From: Satheesh Paul Added support to create flow rules with count, mark and security actions and mark pattern. Signed-off-by: Satheesh Paul --- v3: * Fixed IPv4 and IPv6 dst addr setting in flow pattern spec v2: * Updated documentation in ipsec_secgw.rst doc/guides/sample_app_ug/ipsec_secgw.r

[dpdk-dev] [PATCH v2] examples/ipsec-secgw: support more flow patterns and actions

2022-05-23 Thread psatheesh
From: Satheesh Paul Added support to create flow rules with count, mark and security actions and mark pattern. Signed-off-by: Satheesh Paul --- v2: * Updated documentation in ipsec_secgw.rst doc/guides/sample_app_ug/ipsec_secgw.rst | 58 - examples/ipsec-secgw/flow.c | 280 +

[dpdk-dev] [PATCH] common/cnxk: dump hardware flow MCAM entry data

2022-05-16 Thread psatheesh
From: Satheesh Paul When dumping flow data, read hardware MCAM entry corresponding to the flow and print that data also. Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar Kokkilagadda --- drivers/common/cnxk/roc_npc_mcam_dump.c | 26 - 1 file changed, 25 insertions

[dpdk-dev] [PATCH] common/cnxk: fix channel number setting in MCAM entries

2022-05-02 Thread psatheesh
From: Satheesh Paul Adding changes to accommodate the following requirements while masking the channel number. 1. For CN10K device, channel number should not be masked for first pass rules with RTE_FLOW_ACTION_TYPE_SECURITY action. And channel number should be masked for all other flow r

[dpdk-dev] [PATCH 2/2] net/cnxk: support IPv6 fragment flow pattern item

2022-04-26 Thread psatheesh
From: Satheesh Paul Support matching IPv6 fragment extension header with RTE_FLOW_ITEM_TYPE_IPV6_FRAG_EXT flow pattern item. Signed-off-by: Satheesh Paul --- doc/guides/nics/features/cnxk.ini | 1 + doc/guides/nics/features/cnxk_vec.ini | 1 + doc/guides/nics/features/cnxk_vf.ini | 1 + d

[dpdk-dev] [PATCH 1/2] common/cnxk: support IPv6 fragment flow pattern item

2022-04-26 Thread psatheesh
From: Satheesh Paul ROC changes to support RTE_FLOW_ITEM_TYPE_IPV6_FRAG_EXT flow pattern item. Signed-off-by: Satheesh Paul --- drivers/common/cnxk/roc_npc.h | 1 + drivers/common/cnxk/roc_npc_parse.c | 7 +++ 2 files changed, 8 insertions(+) diff --git a/drivers/common/cnxk/roc_npc

[dpdk-dev] [PATCH] common/cnxk: fix unaligned access to device memory

2022-04-19 Thread psatheesh
From: Satheesh Paul Use mbox_memcpy() instead of memcpy() to prevent unaligned access. Fixes: 1f66919817e ("common/cnxk: improve MCAM entries management") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul --- drivers/common/cnxk/roc_npc_utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletio

[dpdk-dev] [PATCH] examples/ipsec-secgw: support more flow patterns and actions

2022-04-19 Thread psatheesh
From: Satheesh Paul Added support to create flows with count, mark and security actions and mark pattern. The flow configuration can be done with these pattern and actions in the below format in the configuration file. flow [mark ] [eth] [ipv4 | ipv6] | \ port queue \ [count] [secur

[dpdk-dev] [PATCH] net/cnxk: fix error message setting on failure

2022-04-18 Thread psatheesh
From: Satheesh Paul Set the error message with rte_flow_error_set() api when flow parsing fails. Fixes: 8c009b4505e ("net/cnxk: support flow API") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar Kokkilagadda --- drivers/net/cnxk/cnxk_flow.c | 9 - 1 file cha

[dpdk-dev] [PATCH 2/2] common/cnxk: fix QINQ ROC item mismatch issue

2022-03-16 Thread psatheesh
From: Satheesh Paul ROC code is assuming presence of vlan extension headers in case of QINQ, because of this, there is incompatibility between the driver and ROC. Fixed this issue. Fixes: 4edf1246a40 ("common/cnxk: support matching VLAN existence in RTE Flow") Cc: sta...@dpdk.org Signed-off-by:

[dpdk-dev] [PATCH 1/2] common/cnxk: fix ROC naming convention issues

2022-03-16 Thread psatheesh
From: Satheesh Paul Fixed some names to follow ROC naming convention in ROC NPC code. Fixes: 4edf1246a40 ("common/cnxk: support matching VLAN existence in RTE Flow") Cc: sta...@dpdk.org Signed-off-by: Satheesh Paul --- drivers/common/cnxk/roc_npc.h | 6 +++--- drivers/common/cnxk/roc_npc

[dpdk-dev] [PATCH 2/2] net/cnxk: support for mark pattern item type

2022-02-27 Thread psatheesh
From: Satheesh Paul Added support for RTE_FLOW_ITEM_TYPE_MARK. This item type can be used to create ingress flow rules to match packets from CPT(second pass packets). Signed-off-by: Satheesh Paul --- doc/guides/nics/cnxk.rst | 7 +++ doc/guides/nics/features/cnxk.ini | 1 +

[dpdk-dev] [PATCH 1/2] common/cnxk: support for CPT second pass flow rules

2022-02-27 Thread psatheesh
From: Satheesh Paul Added support to create flow rules to match packets from CPT(second pass packets). With this change, ingress rules will be created with bits 10 and 11 of channel field in the MCAM ignored by default. For rules specific to second pass packets, the CPT channel bits will be set i

[dpdk-dev] [PATCH v2] drivers: enable keep flow rule device capability for cnxk

2022-02-13 Thread psatheesh
From: Kiran Kumar K Adding changes to enable keep flow rule device capability. With this change, flow rules will be kept across device restart. Signed-off-by: Kiran Kumar K Reviewed-by: Satheesh Paul --- v2: * Allow creating flow rule before device start. drivers/common/cnxk/roc_npc.c |

[dpdk-dev] [PATCH v2] drivers: enable keep flow rule device capability for cnxk

2022-02-13 Thread psatheesh
From: Kiran Kumar K Adding changes to enable keep flow rule device capability. With this change, flow rules will be kept across device restart. Signed-off-by: Kiran Kumar K Reviewed-by: Satheesh Paul --- v2: * Allow creating flow rule before device start. drivers/common/cnxk/roc_npc.c |

[dpdk-dev] [PATCH] net/cnxk: fix updating Rx/Tx functions in fastpath ops

2022-01-25 Thread psatheesh
From: Satheesh Paul When Rx/Tx functions are updated such as in an rte flow rule creation with VLAN stripping or marking action, update the fastpath ops table as well. Fixes: b951c2efcb1 ("net/cnxk: add Rx burst for CN9K") Fixes: f742a9a6681 ("net/cnxk: add Rx burst for CN10K") Signed-off-by: S

  1   2   >