From patchwork Wed May 27 13:40:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Hongzhi Guo X-Patchwork-Id: 70644 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id EDC03A034E; Wed, 27 May 2020 15:40:23 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 649AE1DAC7; Wed, 27 May 2020 15:40:23 +0200 (CEST) Received: from huawei.com (szxga05-in.huawei.com [45.249.212.191]) by dpdk.org (Postfix) with ESMTP id 467F91DABB; Wed, 27 May 2020 15:40:22 +0200 (CEST) Received: from DGGEMS401-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id D9B4E2D7999D080DC1A7; Wed, 27 May 2020 21:40:19 +0800 (CST) Received: from DESKTOP-ORJPOMD.china.huawei.com (10.173.251.143) by DGGEMS401-HUB.china.huawei.com (10.3.19.201) with Microsoft SMTP Server id 14.3.487.0; Wed, 27 May 2020 21:40:13 +0800 From: guohongzhi To: CC: , , , , , , , , , , , , Date: Wed, 27 May 2020 21:40:09 +0800 Message-ID: <20200527134009.19444-1-guohongzhi1@huawei.com> X-Mailer: git-send-email 2.21.0.windows.1 MIME-Version: 1.0 X-Originating-IP: [10.173.251.143] X-CFilter-Loop: Reflected Subject: [dpdk-dev] [PATCH] bugfix: rte_raw_checksum X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Hongzhi Guo __rte_raw_cksum should consider Big Endian. Signed-off-by: Hongzhi Guo Acked-by: Morten Brørup --- lib/librte_net/rte_ip.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h index 1ceb7b7..eb863d4 100644 --- a/lib/librte_net/rte_ip.h +++ b/lib/librte_net/rte_ip.h @@ -140,7 +140,11 @@ __rte_raw_cksum(const void *buf, size_t len, uint32_t sum) /* if length is in odd bytes */ if (len == 1) +#if (RTE_BYTE_ORDER == RTE_BIG_ENDIAN) + sum += *((const uint8_t *)u16_buf) << 8; +#else sum += *((const uint8_t *)u16_buf); +#endif return sum; }