From patchwork Wed Nov 9 09:52:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Volodymyr Fialko X-Patchwork-Id: 119609 X-Patchwork-Delegate: gakhil@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 752B6A00C4; Wed, 9 Nov 2022 10:52:57 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 62A02400EF; Wed, 9 Nov 2022 10:52:57 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 94A36400D7 for ; Wed, 9 Nov 2022 10:52:55 +0100 (CET) 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 2A98eiP7013760; Wed, 9 Nov 2022 01:52:54 -0800 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=8c1YU1ZRZKXdX5eW79xXJ+3rZUg/+n8JWzekMnkxNWU=; b=NrWiVA7+te+eJYwvD/uiQrNJG8ff3x84Xojc8y3Ac0OqMSy8HWHqWMuoAEn3OPMQzKq2 1bBnForpqULCO/g9DyrA/DdnkyTxRA10iQe87rfFlOXFWNcwWTbXIP1RrYi/xDiO/hee kvD8pTLZzUijwd2FnWmrjKiCm1CzH4MXQKzjj8WySEDh6Kpl1ABy0E5mFgfQbEcczy0p H684bApycQ+lO57wa5Usd74h4alFhgGjUVM8DFjVjBRnkVgjwmWzHAoAniDo7ddREhos StGBB8CgIkId093CdyuPzaFsHSgpKhTXLOvpEV5LYBcg4zOyYTkT36PNqSj5LqLjsH7j xg== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3kr8wbr7h8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 09 Nov 2022 01:52:54 -0800 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Wed, 9 Nov 2022 01:52:52 -0800 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.18 via Frontend Transport; Wed, 9 Nov 2022 01:52:52 -0800 Received: from localhost.localdomain (unknown [10.28.34.39]) by maili.marvell.com (Postfix) with ESMTP id 2F0273F7074; Wed, 9 Nov 2022 01:52:49 -0800 (PST) From: Volodymyr Fialko To: , Radu Nicolau , Akhil Goyal , Volodymyr Fialko CC: , Subject: [PATCH] examples/ipsec-secgw: fix uninitialized variable access Date: Wed, 9 Nov 2022 10:52:37 +0100 Message-ID: <20221109095237.1773458-1-vfialko@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Proofpoint-GUID: 44u4zI-uOkQ9o9MvCZ6vmmEjf0MEVPXa X-Proofpoint-ORIG-GUID: 44u4zI-uOkQ9o9MvCZ6vmmEjf0MEVPXa X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-09_03,2022-11-08_01,2022-06-22_01 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 Fix uninitialized variable access of outbound offloads flags. Coverity issue: 381669 Fixes: 6938fc92c404 ("examples/ipsec-secgw: add lookaside event mode") Signed-off-by: Volodymyr Fialko --- examples/ipsec-secgw/ipsec-secgw.c | 19 +++++++++++-------- examples/ipsec-secgw/ipsec.h | 7 +++++++ examples/ipsec-secgw/ipsec_worker.c | 2 ++ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c index 24d895451a..a64a26c992 100644 --- a/examples/ipsec-secgw/ipsec-secgw.c +++ b/examples/ipsec-secgw/ipsec-secgw.c @@ -105,6 +105,8 @@ struct ethaddr_info ethaddr_tbl[RTE_MAX_ETHPORTS] = { { 0, ETHADDR(0x00, 0x16, 0x3e, 0x49, 0x9e, 0xdd) } }; +struct offloads tx_offloads; + /* * To hold ethernet header per port, which will be applied * to outgoing packets. @@ -3017,16 +3019,17 @@ main(int32_t argc, char **argv) ipv4_cksum_port_mask |= 1U << portid; } - for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) { - if (rte_lcore_is_enabled(lcore_id) == 0) - continue; + tx_offloads.ipv4_offloads = RTE_MBUF_F_TX_IPV4; + tx_offloads.ipv6_offloads = RTE_MBUF_F_TX_IPV6; + /* Update per lcore checksum offload support only if all ports support it */ + if (ipv4_cksum_port_mask == enabled_port_mask) + tx_offloads.ipv4_offloads |= RTE_MBUF_F_TX_IP_CKSUM; + lcore_id = 0; + RTE_LCORE_FOREACH(lcore_id) { /* Pre-populate pkt offloads based on capabilities */ - lcore_conf[lcore_id].outbound.ipv4_offloads = RTE_MBUF_F_TX_IPV4; - lcore_conf[lcore_id].outbound.ipv6_offloads = RTE_MBUF_F_TX_IPV6; - /* Update per lcore checksum offload support only if all ports support it */ - if (ipv4_cksum_port_mask == enabled_port_mask) - lcore_conf[lcore_id].outbound.ipv4_offloads |= RTE_MBUF_F_TX_IP_CKSUM; + lcore_conf[lcore_id].outbound.ipv4_offloads = tx_offloads.ipv4_offloads; + lcore_conf[lcore_id].outbound.ipv6_offloads = tx_offloads.ipv6_offloads; } /* diff --git a/examples/ipsec-secgw/ipsec.h b/examples/ipsec-secgw/ipsec.h index a21402ef5f..6bef2a7285 100644 --- a/examples/ipsec-secgw/ipsec.h +++ b/examples/ipsec-secgw/ipsec.h @@ -242,6 +242,13 @@ struct ipsec_ctx { uint32_t lcore_id; }; +struct offloads { + uint64_t ipv4_offloads; + uint64_t ipv6_offloads; +}; + +extern struct offloads tx_offloads; + struct cdev_key { uint16_t lcore_id; uint8_t cipher_algo; diff --git a/examples/ipsec-secgw/ipsec_worker.c b/examples/ipsec-secgw/ipsec_worker.c index cbb41bc192..2f02946f86 100644 --- a/examples/ipsec-secgw/ipsec_worker.c +++ b/examples/ipsec-secgw/ipsec_worker.c @@ -1342,6 +1342,8 @@ ipsec_wrkr_non_burst_int_port_app_mode(struct eh_event_link_info *links, lconf.outbound.sp4_ctx = socket_ctx[socket_id].sp_ip4_out; lconf.outbound.sp6_ctx = socket_ctx[socket_id].sp_ip6_out; lconf.outbound.sa_ctx = socket_ctx[socket_id].sa_out; + lconf.outbound.ipv4_offloads = tx_offloads.ipv4_offloads; + lconf.outbound.ipv6_offloads = tx_offloads.ipv6_offloads; lconf.outbound.lcore_id = lcore_id; RTE_LOG(INFO, IPSEC,