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 3D17BA0524 for ; Thu, 4 Feb 2021 12:36:27 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 34D0B24077B; Thu, 4 Feb 2021 12:36:27 +0100 (CET) Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by mails.dpdk.org (Postfix) with ESMTP id 0FE4824076F for ; Thu, 4 Feb 2021 12:36:26 +0100 (CET) Received: from 2.general.paelzer.uk.vpn ([10.172.196.173] helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1l7cvw-0005U5-1I; Thu, 04 Feb 2021 11:36:24 +0000 From: Christian Ehrhardt To: George Prekas Cc: Ferruh Yigit , dpdk stable Date: Thu, 4 Feb 2021 12:28:46 +0100 Message-Id: <20210204112954.2488123-71-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210204112954.2488123-1-christian.ehrhardt@canonical.com> References: <20210204112954.2488123-1-christian.ehrhardt@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'app/testpmd: fix IP checksum calculation' has been queued to stable release 19.11.7 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to stable release 19.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/06/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/d687db50e6917a6aa37b7a8c980ec8f15f0b067c Thanks. Christian Ehrhardt --- >From d687db50e6917a6aa37b7a8c980ec8f15f0b067c Mon Sep 17 00:00:00 2001 From: George Prekas Date: Thu, 7 Jan 2021 14:42:28 -0600 Subject: [PATCH] app/testpmd: fix IP checksum calculation [ upstream commit d841ef857dac00657aeff0a764947e064f86f550 ] Strict-aliasing rules are violated by cast to uint16_t* in flowgen.c and the calculated IP checksum is wrong. Use attribute __may_alias__ to fix the problem. Fixes: e9e23a617eb8 ("app/testpmd: add flowgen forwarding engine") Signed-off-by: George Prekas Reviewed-by: Ferruh Yigit --- app/test-pmd/flowgen.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/test-pmd/flowgen.c b/app/test-pmd/flowgen.c index 68931fdea6..3e1335b627 100644 --- a/app/test-pmd/flowgen.c +++ b/app/test-pmd/flowgen.c @@ -53,8 +53,11 @@ static struct rte_ether_addr cfg_ether_dst = #define IP_DEFTTL 64 /* from RFC 1340. */ +/* Use this type to inform GCC that ip_sum violates aliasing rules. */ +typedef unaligned_uint16_t alias_int16_t __attribute__((__may_alias__)); + static inline uint16_t -ip_sum(const unaligned_uint16_t *hdr, int hdr_len) +ip_sum(const alias_int16_t *hdr, int hdr_len) { uint32_t sum = 0; @@ -156,7 +159,7 @@ pkt_burst_flow_gen(struct fwd_stream *fs) next_flow); ip_hdr->total_length = RTE_CPU_TO_BE_16(pkt_size - sizeof(*eth_hdr)); - ip_hdr->hdr_checksum = ip_sum((unaligned_uint16_t *)ip_hdr, + ip_hdr->hdr_checksum = ip_sum((const alias_int16_t *)ip_hdr, sizeof(*ip_hdr)); /* Initialize UDP header. */ -- 2.30.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-02-04 12:04:31.063209505 +0100 +++ 0071-app-testpmd-fix-IP-checksum-calculation.patch 2021-02-04 12:04:28.070789767 +0100 @@ -1 +1 @@ -From d841ef857dac00657aeff0a764947e064f86f550 Mon Sep 17 00:00:00 2001 +From d687db50e6917a6aa37b7a8c980ec8f15f0b067c Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit d841ef857dac00657aeff0a764947e064f86f550 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index acf3e24605..cabfc688ff 100644 +index 68931fdea6..3e1335b627 100644 @@ -36 +37 @@ -@@ -150,7 +153,7 @@ pkt_burst_flow_gen(struct fwd_stream *fs) +@@ -156,7 +159,7 @@ pkt_burst_flow_gen(struct fwd_stream *fs)