From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B36F844048; Fri, 17 May 2024 09:45:19 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6470C4068A; Fri, 17 May 2024 09:45:07 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 1AAB74067E for ; Fri, 17 May 2024 09:45:05 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 44GLNLaL025405 for ; Fri, 17 May 2024 00:45:05 -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=F9tZqYEIgy6soConm5HBgHmm6tiOQAq4kEdjeVQ319g=; b=GOt XXDDuoSKI81pxpcTN+/Cb0EvhH16vK/P04h9XCYdwT6U6uK4oKkeblF6+EB4wniG RuMrImzTCLZG5bcRlHY5HomxBLBUP0jMz1WLRvcPvpWuyhdrTZj66u+1SFDuxqrQ I9v/WTXdiJ2LiBxFqDDSrDe3Tkb0CYd9mJrUplnaoDBdKx+PvyOE1pxgBzzku5aW x4cEfvFrkjbJrMR0MyV36cQJ/2XSZYqeIJOUAEvElMyMGHdSN8EkAYbyNi/jpinC dUTqoeBy9RAjwaV2s6NBwVj7eSQ3VUaCN7S3P6+GYmcTYb1bgUzUY0J5Cc4VEsOt RjiVha8E7fCQ+NIdwiw== Received: from dc5-exch05.marvell.com ([199.233.59.128]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3y5t0vhc34-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 17 May 2024 00:45:05 -0700 (PDT) Received: from DC5-EXCH05.marvell.com (10.69.176.209) by DC5-EXCH05.marvell.com (10.69.176.209) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Fri, 17 May 2024 00:45:04 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH05.marvell.com (10.69.176.209) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Fri, 17 May 2024 00:45:04 -0700 Received: from hyd1588t430.caveonetworks.com (unknown [10.29.52.204]) by maili.marvell.com (Postfix) with ESMTP id E2F433F7089; Fri, 17 May 2024 00:45:01 -0700 (PDT) From: Nithin Dabilpuram To: Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao , Harman Kalra CC: , Subject: [PATCH 04/10] common/cnxk: override UDP encap ports with session data Date: Fri, 17 May 2024 13:14:42 +0530 Message-ID: <20240517074448.3146611-4-ndabilpuram@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240517074448.3146611-1-ndabilpuram@marvell.com> References: <20240517074448.3146611-1-ndabilpuram@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-ORIG-GUID: RhECsiFFmJCYjnuf7aSksV_7Oy05WY1a X-Proofpoint-GUID: RhECsiFFmJCYjnuf7aSksV_7Oy05WY1a X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-05-16_07,2024-05-15_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 Override UDP encap ports with session info when non-zero on cn10k. This makes the UDP encap ports configurable by user as needed. Default UDP source and destination ports will still be 4500. Signed-off-by: Nithin Dabilpuram --- drivers/common/cnxk/cnxk_security.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/drivers/common/cnxk/cnxk_security.c b/drivers/common/cnxk/cnxk_security.c index bab015e3b3..15b0bedf43 100644 --- a/drivers/common/cnxk/cnxk_security.c +++ b/drivers/common/cnxk/cnxk_security.c @@ -308,6 +308,7 @@ cnxk_ot_ipsec_inb_sa_fill(struct roc_ot_ipsec_inb_sa *sa, struct rte_crypto_sym_xform *crypto_xfrm, bool is_inline) { + uint16_t sport = 4500, dport = 4500; union roc_ot_ipsec_sa_word2 w2; uint32_t replay_win_sz; size_t offset; @@ -353,8 +354,14 @@ cnxk_ot_ipsec_inb_sa_fill(struct roc_ot_ipsec_inb_sa *sa, /* ESN */ sa->w2.s.esn_en = !!ipsec_xfrm->options.esn; if (ipsec_xfrm->options.udp_encap) { - sa->w10.s.udp_src_port = 4500; - sa->w10.s.udp_dst_port = 4500; + if (ipsec_xfrm->udp.sport) + sport = ipsec_xfrm->udp.sport; + + if (ipsec_xfrm->udp.dport) + dport = ipsec_xfrm->udp.dport; + + sa->w10.s.udp_src_port = sport; + sa->w10.s.udp_dst_port = dport; } if (ipsec_xfrm->options.udp_ports_verify) @@ -411,6 +418,7 @@ cnxk_ot_ipsec_outb_sa_fill(struct roc_ot_ipsec_outb_sa *sa, struct rte_crypto_sym_xform *crypto_xfrm) { struct rte_security_ipsec_tunnel_param *tunnel = &ipsec_xfrm->tunnel; + uint16_t sport = 4500, dport = 4500; union roc_ot_ipsec_sa_word2 w2; size_t offset; int rc; @@ -506,8 +514,14 @@ cnxk_ot_ipsec_outb_sa_fill(struct roc_ot_ipsec_outb_sa *sa, sa->ctx.esn_val = ipsec_xfrm->esn.value - 1; if (ipsec_xfrm->options.udp_encap) { - sa->w10.s.udp_src_port = 4500; - sa->w10.s.udp_dst_port = 4500; + if (ipsec_xfrm->udp.sport) + sport = ipsec_xfrm->udp.sport; + + if (ipsec_xfrm->udp.dport) + dport = ipsec_xfrm->udp.dport; + + sa->w10.s.udp_src_port = sport; + sa->w10.s.udp_dst_port = dport; } offset = offsetof(struct roc_ot_ipsec_outb_sa, ctx); -- 2.25.1