From patchwork Mon Oct 16 07:04:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nithin Dabilpuram X-Patchwork-Id: 132618 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 95A664317A; Mon, 16 Oct 2023 09:05:10 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6A75D402DE; Mon, 16 Oct 2023 09:05:10 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id DE0C3402BE for ; Mon, 16 Oct 2023 09:05:08 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 39FLwQpn006101 for ; Mon, 16 Oct 2023 00:05:07 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=dY5JAhFd6MrEtSoJ600PcGRc1WOr3w0TVuv6DXMzklM=; b=cVsHVR2aqmpE9Ux+l+w2AjtmrClHpnVwYEeCTzF9rINid71A2Y7hYPfe4WgCkQnGBj2e 38mculaI8NBvUNhZvtk1x8ZxasqylWKA4MsUD1rdU+euRlYNvltK1Of+avJxsX0Cg41J HdA1O+FuMjO145u8t1wU5UK9j3VIafYl9sS7ZVeZWvJitATxcksOCfzJWjMWsjMAIvdu b+xKdGFMFC+tM56mFX/XOCKTcKQGxDL/GEwFuX2S4dvDEU6eorkmdWspOyHwRXAZPoxd advcVI9xBn3DO9GZqpvhD/6oFXQeZBiKRqNpQQnsTefgZm9vAGYLjv4OR4ECke5o7CZX vw== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3tqrbpvk37-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Mon, 16 Oct 2023 00:05:07 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Mon, 16 Oct 2023 00:05:06 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Mon, 16 Oct 2023 00:05:06 -0700 Received: from hyd1588t430.caveonetworks.com (unknown [10.29.52.204]) by maili.marvell.com (Postfix) with ESMTP id ED7FB3F70C0; Mon, 16 Oct 2023 00:05:03 -0700 (PDT) From: Nithin Dabilpuram To: Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao CC: , Subject: [PATCH 1/3] net/cnxk: fix data offset extract logic in vector function Date: Mon, 16 Oct 2023 12:34:35 +0530 Message-ID: <20231016070437.2295803-1-ndabilpuram@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: A2G-36-gXXEY5rJ_0C3xUjSkwvN5pWGK X-Proofpoint-GUID: A2G-36-gXXEY5rJ_0C3xUjSkwvN5pWGK X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-15_09,2023-10-12_01,2023-05-22_02 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Extract data offset from individual mbuf's instead of mbuf0. Fixes: 6771216c2f44 ("drivers: mark cnxk to support disabling IOVA as PA") Signed-off-by: Nithin Dabilpuram --- drivers/net/cnxk/cn10k_tx.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/cnxk/cn10k_tx.h b/drivers/net/cnxk/cn10k_tx.h index e7943e3c88..467f0ccc65 100644 --- a/drivers/net/cnxk/cn10k_tx.h +++ b/drivers/net/cnxk/cn10k_tx.h @@ -2201,13 +2201,13 @@ cn10k_nix_xmit_pkts_vector(void *tx_queue, uint64_t *ws, vsetq_lane_u64(((struct rte_mbuf *)mbuf0)->data_off, vld1q_u64(mbuf0), 1); len_olflags0 = vld1q_u64(mbuf0 + 3); dataoff_iova1 = - vsetq_lane_u64(((struct rte_mbuf *)mbuf0)->data_off, vld1q_u64(mbuf1), 1); + vsetq_lane_u64(((struct rte_mbuf *)mbuf1)->data_off, vld1q_u64(mbuf1), 1); len_olflags1 = vld1q_u64(mbuf1 + 3); dataoff_iova2 = - vsetq_lane_u64(((struct rte_mbuf *)mbuf0)->data_off, vld1q_u64(mbuf2), 1); + vsetq_lane_u64(((struct rte_mbuf *)mbuf2)->data_off, vld1q_u64(mbuf2), 1); len_olflags2 = vld1q_u64(mbuf2 + 3); dataoff_iova3 = - vsetq_lane_u64(((struct rte_mbuf *)mbuf0)->data_off, vld1q_u64(mbuf3), 1); + vsetq_lane_u64(((struct rte_mbuf *)mbuf3)->data_off, vld1q_u64(mbuf3), 1); len_olflags3 = vld1q_u64(mbuf3 + 3); /* Move mbufs to point pool */ From patchwork Mon Oct 16 07:04:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nithin Dabilpuram X-Patchwork-Id: 132619 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6BD9F4317A; Mon, 16 Oct 2023 09:05:15 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7AB9A402F2; Mon, 16 Oct 2023 09:05:12 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 8A62E402F0 for ; Mon, 16 Oct 2023 09:05:11 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 39FMqfPC002130 for ; Mon, 16 Oct 2023 00:05:11 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=6spqvGqIVvMQ/L06m65lXCgp1lVONhd1vd9pvMGa2vw=; b=SbP5Q710+akozYqmTxaTZ9rvitdrzSHPjfC8Jq3DWejv+shO0rLktgY9E/H12Xp0/xeY unmMq0FNaVSye2QoBGAqjWxq0BhYExEI8fZ+uWyk/d39CQnbVFBIx4+2Upw/9F/V9Gop 4XmNdi7Y3BDqEG+iDN0O89aZ/BlmntEZXUKVdz1YebcYPiOmwsGpTNrxiK0jEMO59UVL Jnbnanx1vWwYDoPcQSkcSEzgUcI+wLOMeJJhlQ0KrIdjLjBE6OWjr1PYtMozz1LDmcgA Q+NzcSYjBbOQNReFnzNyjfXH7NwahYdSW7qwkgpzhjbutzVZxgX7dtzKacI6CwV5RTva sg== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3tqtgkma8n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Mon, 16 Oct 2023 00:05:10 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Mon, 16 Oct 2023 00:05:08 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Mon, 16 Oct 2023 00:05:08 -0700 Received: from hyd1588t430.caveonetworks.com (unknown [10.29.52.204]) by maili.marvell.com (Postfix) with ESMTP id AA89C3F705B; Mon, 16 Oct 2023 00:05:06 -0700 (PDT) From: Nithin Dabilpuram To: Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao CC: , Subject: [PATCH 2/3] net/cnxk: add support to extract HW error for inline IPsec Date: Mon, 16 Oct 2023 12:34:36 +0530 Message-ID: <20231016070437.2295803-2-ndabilpuram@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231016070437.2295803-1-ndabilpuram@marvell.com> References: <20231016070437.2295803-1-ndabilpuram@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: 8td3AJdnTOLt-HV_6vwz-_b4MGSCaahX X-Proofpoint-ORIG-GUID: 8td3AJdnTOLt-HV_6vwz-_b4MGSCaahX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-15_09,2023-10-12_01,2023-05-22_02 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Add PMD API support to extract HW error code from mbuf's processed by inline IPsec inbound. Signed-off-by: Nithin Dabilpuram --- drivers/net/cnxk/cn10k_ethdev_sec.c | 18 ++++++++++++++++++ drivers/net/cnxk/rte_pmd_cnxk.h | 17 +++++++++++++++++ drivers/net/cnxk/version.map | 6 +++++- 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/drivers/net/cnxk/cn10k_ethdev_sec.c b/drivers/net/cnxk/cn10k_ethdev_sec.c index 9a831634da..b54795565d 100644 --- a/drivers/net/cnxk/cn10k_ethdev_sec.c +++ b/drivers/net/cnxk/cn10k_ethdev_sec.c @@ -1184,6 +1184,24 @@ rte_pmd_cnxk_hw_sa_write(void *device, struct rte_security_session *sess, return 0; } +void * +rte_pmd_cnxk_inl_ipsec_res(struct rte_mbuf *mbuf) +{ + const union nix_rx_parse_u *rx; + uint16_t desc_size; + uintptr_t wqe; + + if (!mbuf || !(mbuf->ol_flags & RTE_MBUF_F_RX_SEC_OFFLOAD)) + return NULL; + + wqe = (uintptr_t)(mbuf + 1); + rx = (const union nix_rx_parse_u *)(wqe + 8); + desc_size = (rx->desc_sizem1 + 1) * 16; + + /* cpt_res_s sits after SG list at 16B aligned address */ + return (void *)(wqe + 64 + desc_size); +} + static int cn10k_eth_sec_session_stats_get(void *device, struct rte_security_session *sess, struct rte_security_stats *stats) diff --git a/drivers/net/cnxk/rte_pmd_cnxk.h b/drivers/net/cnxk/rte_pmd_cnxk.h index d7eadd582d..7827c33ac9 100644 --- a/drivers/net/cnxk/rte_pmd_cnxk.h +++ b/drivers/net/cnxk/rte_pmd_cnxk.h @@ -96,4 +96,21 @@ int rte_pmd_cnxk_hw_sa_read(void *device, struct rte_security_session *sess, __rte_experimental int rte_pmd_cnxk_hw_sa_write(void *device, struct rte_security_session *sess, void *data, uint32_t len); + +/** + * Get pointer to CPT result info for inline inbound processed pkt. + * + * It is recommended to use this API only when mbuf indicates packet + * was processed with inline IPsec and there was a failure with the same i.e + * mbuf->ol_flags indicates (RTE_MBUF_F_RX_SEC_OFFLOAD | RTE_MBUF_F_RX_SEC_OFFLOAD_FAILED). + * + * @param mbuf + * Pointer to packet that was just received and was processed with Inline IPsec. + * + * @return + * - Pointer to mbuf location where CPT result info is stored on success. + * - NULL on failure. + */ +__rte_experimental +void *rte_pmd_cnxk_inl_ipsec_res(struct rte_mbuf *mbuf); #endif /* _PMD_CNXK_H_ */ diff --git a/drivers/net/cnxk/version.map b/drivers/net/cnxk/version.map index 7ae6d80bf0..77f574bb16 100644 --- a/drivers/net/cnxk/version.map +++ b/drivers/net/cnxk/version.map @@ -3,10 +3,14 @@ DPDK_24 { }; EXPERIMENTAL { + global: + # added in 22.07 - global: rte_pmd_cnxk_hw_sa_read; rte_pmd_cnxk_hw_sa_write; + + # added in 23.11 + rte_pmd_cnxk_inl_ipsec_res; }; INTERNAL { From patchwork Mon Oct 16 07:04:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nithin Dabilpuram X-Patchwork-Id: 132620 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 864164317A; Mon, 16 Oct 2023 09:05:21 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B2A254064C; Mon, 16 Oct 2023 09:05:15 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id EA9D740648 for ; Mon, 16 Oct 2023 09:05:13 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 39FNomiY011001 for ; Mon, 16 Oct 2023 00:05:13 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=J6D5tqsRF7AFAMwWYAMwNdJo3FG5OBnEJFc+0IwPU4o=; b=YPrJ4tZq/tY5wgiCNMGjOCaCYanAfJkOjSGGQOddKXtut55BQvuuYkql2s22nbotrILD aUYkdqGGXwNGnAhPgSuTH7dJevphnNFtF5RDXmqfLw6Cv5Q8nrT6LgrhvUCQOL3MlWqk UIoMpYBC4l2dURVak364azNZzGgW3cJn5Wn48rJBkw8Q7JFDJi0IWP1k7iVlGxgzz+gL nNVX+/kegeORE7MA1DlZEbpwvOdP+NWOGRtxz/hPAkI0s58sBJEPsRQBPL2ZmYYEE1if d9uz1aqc99mr+9IStTxEQc81XJbh+0EqHVfMsO7ZlUTLA0vEwUId5II8HxD3vY6ZM7HH Lg== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3tqrbpvk3k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Mon, 16 Oct 2023 00:05:13 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Mon, 16 Oct 2023 00:05:11 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Mon, 16 Oct 2023 00:05:11 -0700 Received: from hyd1588t430.caveonetworks.com (unknown [10.29.52.204]) by maili.marvell.com (Postfix) with ESMTP id 5C3E93F705C; Mon, 16 Oct 2023 00:05:09 -0700 (PDT) From: Nithin Dabilpuram To: Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao CC: , Subject: [PATCH 3/3] common/cnxk: check for error code in MAC address set Date: Mon, 16 Oct 2023 12:34:37 +0530 Message-ID: <20231016070437.2295803-3-ndabilpuram@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231016070437.2295803-1-ndabilpuram@marvell.com> References: <20231016070437.2295803-1-ndabilpuram@marvell.com> MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: of-u1cRqj6KUduLCqgZdXlmn0SbsBWDB X-Proofpoint-GUID: of-u1cRqj6KUduLCqgZdXlmn0SbsBWDB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-15_09,2023-10-12_01,2023-05-22_02 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Check for mbox error code in MAC address set. Fixes: 313cc41830ec ("common/cnxk: support NIX MAC operations") Signed-off-by: Nithin Dabilpuram --- drivers/common/cnxk/roc_nix_mac.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/common/cnxk/roc_nix_mac.c b/drivers/common/cnxk/roc_nix_mac.c index e2e87be525..2d1c29dd66 100644 --- a/drivers/common/cnxk/roc_nix_mac.c +++ b/drivers/common/cnxk/roc_nix_mac.c @@ -84,7 +84,7 @@ roc_nix_mac_addr_set(struct roc_nix *roc_nix, const uint8_t addr[]) struct cgx_mac_addr_set_or_get *req, *rsp; struct dev *dev = &nix->dev; struct mbox *mbox = mbox_get(dev->mbox); - int rc; + int rc = -ENOSPC; if (roc_nix_is_vf_or_sdp(roc_nix)) { rc = NIX_ERR_OP_NOTSUP; @@ -97,6 +97,9 @@ roc_nix_mac_addr_set(struct roc_nix *roc_nix, const uint8_t addr[]) } req = mbox_alloc_msg_cgx_mac_addr_set(mbox); + if (req == NULL) + goto exit; + req->index = nix->dmac_flt_idx; mbox_memcpy(req->mac_addr, addr, PLT_ETHER_ADDR_LEN);