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 3CC98A0350; Fri, 21 Jan 2022 16:16:55 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B82E642767; Fri, 21 Jan 2022 16:16:54 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 529A240042 for ; Fri, 21 Jan 2022 16:16:52 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642778212; x=1674314212; h=message-id:date:to:cc:references:from:subject: in-reply-to:content-transfer-encoding:mime-version; bh=g/hDWJN85SuDkKNjA85QCTXErRltMuNJfzMITmM2pr0=; b=Iy07oT7iysyjPNS9vNfcenX6Y1auIAbT55SZ6tISdL/fWjit1LUDgj67 RJc2W11Y1AjRuvwgA7SEHz6dHeQRX7iU2f9qJqtURiT1YNlImjvQt025b vmZklGByfbNxM8fOeoUU8bEwG6YUn2P/Iu44bNp9adkKYwRkp4ZYbR8ry So1M75sJboV8j2CW/IEX/3hUC1Vm4tw3vAzOVjZsh+Gj+lYJEW5fQKiIE SXu4ma3F1RxHkHby1FbgGyYHewL8I0woUsI2xRWVSuVW0SEmABqsKNM2o IrXGRGHJXdfYAMMIOSYzlf0znIB6xI/3iRLG7cDf8lhVp9R/BL90CrZFl A==; X-IronPort-AV: E=McAfee;i="6200,9189,10233"; a="245618659" X-IronPort-AV: E=Sophos;i="5.88,304,1635231600"; d="scan'208";a="245618659" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2022 07:16:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,304,1635231600"; d="scan'208";a="694662528" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga005.jf.intel.com with ESMTP; 21 Jan 2022 07:16:50 -0800 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Fri, 21 Jan 2022 07:16:49 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Fri, 21 Jan 2022 07:16:49 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Fri, 21 Jan 2022 07:16:49 -0800 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.42) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Fri, 21 Jan 2022 07:16:48 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nAvd9xm9ksRrRUwZ17YzhoVhVdGTERXGHKVRNZJ1w6SuA0LCm3YuQo6A+IT9ARG/grTGa78Hl30ymMVvhQ3xKvptRGFR69FR7O34ab1dMPMnns7Ep5nATIMqi/py4XRDuZBxpFHjTbp8Wn/R94u0vDkNDzTUgLyOlV8LZv0BcuLLJ8RTHPDPA3IN+rm7NMwadrY1R2f3rc8XHnHFeegILQIqPQKuN5uwatSRTltGgZB7yDidYD179pRppmNKa89Xl4qSdnTMTGm0O23ra0ZDcnGvC2Oh9QA+9WkE76HOupiiIzfuRwGTFosw5eThTrxiTibQ4zRmqJHWYBRqqb0tMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=G0MvZOMww2NidKERaMRShSMHgyfFAvKxf/2DrKnibV4=; b=PdU9bgNCpFt3ZwKAO6qN+40RAz59GkG+rJtE8yOHALipmmGDCDnfxKBmPSLEidgUHDTAY0ItRPuQ24WCQMPhKteQg449NaukBIdRzv1oSGc6mJ4rA8i9YZw9cEIehqTcgnPg1SF96ByF+xkbCVMcVMfv+Vcvei+Fe2yqysOh1jHF/iAy4iFIAEwzmj0psPFhkafzZQaAjeRyeKOCmwUendLz+c3ThGsSKDNlwqzFpRMeutrbKpAI6XEoxQZ1h3sQviK2sASh4y/pDa3t6Cy6o7XzK4TIhMB8sCtrVgBJVpGYNxj6HGZx94gwkk2sh3YrrzVQ2D6yapZRdTLZ3SooMw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) by DM6PR11MB3129.namprd11.prod.outlook.com (2603:10b6:5:65::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Fri, 21 Jan 2022 15:16:46 +0000 Received: from PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::5046:8550:928d:850e]) by PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::5046:8550:928d:850e%7]) with mapi id 15.20.4909.010; Fri, 21 Jan 2022 15:16:46 +0000 Message-ID: <1c366b66-4e1a-94ba-e1af-161a1dded713@intel.com> Date: Fri, 21 Jan 2022 15:16:40 +0000 Content-Language: en-US To: Xiaoyun Li , , , , , , CC: , Sunil Pai G References: <20211015051306.320328-1-xiaoyun.li@intel.com> <20220106160333.762686-1-xiaoyun.li@intel.com> <20220106160333.762686-3-xiaoyun.li@intel.com> From: Ferruh Yigit Subject: Re: [PATCH v5 2/2] testpmd: fix l4 sw csum over multi segments X-User: ferruhy In-Reply-To: <20220106160333.762686-3-xiaoyun.li@intel.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO2P265CA0514.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:13b::21) To PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 90b60371-006f-497a-b9b6-08d9dcf109e3 X-MS-TrafficTypeDiagnostic: DM6PR11MB3129:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: U0Ke00XPCy/z3jEKLy8ZMKO2D5i9X+K/lsx3RmpGvNTbY4OxQmSRRaxNiSNSG3eVbg2waFO3B2PzgzzcbwbcykEBSZajm1PJ6zdE+pNSOrOeVH73lgUKKe8N16hkFYQ+NFgVp2PTLxUzliuWy45m2AXMjpfFc/zV2+DnRsNbyd/tydkW7nmqNT9Fjoq3TAAYEQZ6xIrRNlNYbZUH5PldIci7HqsoogDT5/9OZoswBQBbax2+QonZhKgDqlb/oSes0RGGLnoBpy20KXyCD6mYrvt33HzahEmECxfP3p58xV5Rx4EUOx4k0zFeDPYzlL0MuQceN8ZwVoY/nBUwS4zwPjjGCT8iodnksLAxAS9RM0FEOv0DqETyJEPS2neZhWaWpfWT05BErbYqDKIt6Mkb5j2xp53nAx3DnTtxxfV/Gsx2VL7nBan9qgs8lUdzR96M6nbK+AXzFjIuS81OHGhU2PWssb4fp2oriqg8/CMwZcallfQTfeSNnpiNPbSQYGgfILVv6ZRCL5VDya9ymaUZJzxGqWedxXBDyR5KEuYqHsvryf7xVfMsu2q01mSxQSSDGjttLl5VDsQaGs/7Ep0NyrUy8bNShIz+WlPJon42Y1xPWvlWf9PZvO3Na1ykKrGlMeQIY0jOWjWAQ2YoYnLH/9nNw3OLKuRYas+tg9zUuUfJIqFmIpjVM6a8ZE9rl2mKAnxkee3yCi3VQPP1OGhtQg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5000.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(66946007)(38100700002)(107886003)(31686004)(8936002)(8676002)(66556008)(66476007)(82960400001)(186003)(6636002)(5660300002)(86362001)(2906002)(2616005)(6486002)(44832011)(6512007)(31696002)(26005)(6506007)(83380400001)(36756003)(6666004)(53546011)(4326008)(316002)(508600001)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MmV0b3BiZ1V0VWtBb2xvTGRGblVkKzVpVmJaaVhJdG9yd0pxeXJlZDducEwy?= =?utf-8?B?U0gzOWFuT0ExdTIvMlgvT0c3RGtjVDVueGFzUXVCQXh6Qjh4MHg4L0hGMG1T?= =?utf-8?B?cmxValk1eG95MldjMHhRSkF2R29LcHNyL2lidXk2MGdVSVpPcE5QMGVlaDFn?= =?utf-8?B?Umkxd1ZhMmtvRy91dm95V2dyU3cvVTkxNm5BZFN4SjZhVWNFRS8yL1lOS1JW?= =?utf-8?B?dE93cXdRZU51d25RSmZEdU4zRDJJNTJKQ0kzampQMkhwb3JqM2ttR0RXSW1h?= =?utf-8?B?NFRBQ3JSdytMR1YwTUZhK01iNXYrdW9DQWs0cUNzNy9ZTE9Fb1ZvUVZpQUVw?= =?utf-8?B?cGcyZEhwZllwaWNyOTU5dEdmYUVlLzRORFdsMGZ2ZXRXZEpGcFVWZ2ZLekk4?= =?utf-8?B?dmZhaEpIT3kvVzg1dFFsbnd6UlNST0JmWG5sdm5ETHY0dWp4TzFDMjRILzBh?= =?utf-8?B?bFF2clR6TEE3MmlTbzM0RndzRWI2UFZ1a2dJckw1eUlnYmNVMHJKK04xb3Jj?= =?utf-8?B?Vk5idmJ6dmpTRDI3ekZUTTJJRmRKVmJ0cnp5SU9wQy8xQm80dFFDN2ZNdnJ4?= =?utf-8?B?OVJDVE1ndkVmM05Lb2lhMS8xVUdpU0RMSGdZZWpSWE9SUGd5aHJ1R3Q1Lytt?= =?utf-8?B?NTQxWE5HWXQ3c3dwWk1KTmlPcCtySjl5K3BBS1FKZTJPUGF1ZjY0b1BBcEtD?= =?utf-8?B?U2lFa0xMdjhxaW03TjJFQ2FlcU9rbDVoV2N4UjYrd1pqVTd0U0hKeVJmOWFQ?= =?utf-8?B?VGFRdHp4bWNENnQxZHRQLzNIaDl4N01RNy9OMTV3NTY5bkF2VWRTRk5EdCtU?= =?utf-8?B?dlNYRUFMa2FoWG5Pa1orT2xsZkVpbllZVGxiMXNVbVNzRDlhTVY5bEtSZVFV?= =?utf-8?B?MGVwZTJxeUphZXNQTWFmOGd4YVVwVFQ5ZEUyM2JmQk5LK1hwVnBaVDNpRWVp?= =?utf-8?B?eDAwSy9jcnpZb0ExZ3haVFprWkN1aStwVGY4OXlYRjBPa1N1dVlaM3ptQ1pC?= =?utf-8?B?OFQzdk8ybDhCMmo4TWE4RmFaY1JlSUd3T2M3ang5bG8zUFlxR3doOEZYcHhN?= =?utf-8?B?T2poUG5PWHdDb0REd0tsR0lTL3RTWWpueEh6QWtaTXZoM2kxcnl1bXZRL2lv?= =?utf-8?B?aGVZaWxoWnBmcFllQkg3OUZBMHg4T2sxb2RwanVMc3Q0YTYveU80UVBMNFN5?= =?utf-8?B?eVViS0dYYkpXNWFzZlkrMWUzejRFWFoxN3BvYWt1c1FIdXA0Z2NubGV2TWIy?= =?utf-8?B?MUVndHJja1FIdEpSQ1NUemd5a25Xb1FQckh1RWtNVkdKVFJoVGJ6TzYveW40?= =?utf-8?B?T0pCdDJ4MEE0TlZGdGg4NDA0a1FOeWRIOERXVnZ5TzZSd0N4b0w1YXdac2pz?= =?utf-8?B?U1d3dG1OWXZsK2ZTOGFud0NYRldmVGhPQnUzRkpxS0I1ZGVKL1R2L0hjS3RQ?= =?utf-8?B?YVlhNUV6SDdjQkc2Z1dXNU55Z0pwbng0MjMzaUkraHh3T3VKczIyUXQvbmpQ?= =?utf-8?B?b3ozeGovYWt2YWEybCs3VWhkOUk3RTB1czZrTVJqcFRUamZsK0ZmWlRFUGQv?= =?utf-8?B?ekFBbzNhclJsb1pHdFhCYk5xY3VuY0U5L2NXdWtUeWFDek5oSVRTaksxeWwz?= =?utf-8?B?UndtTmJvaTJ5eEF6eGNoSUhxajNUWUpWazA2ZUhJN0JsaDBPZEtzTkwwKzVa?= =?utf-8?B?bXFIZEJyODNLSnQrZm1HVDQ1aE9jTFA5Z1hRMU14Y0VBRkMrOXlUajNYY0ZZ?= =?utf-8?B?cGtOcE1GVHhxMGRteUhwWlNOT3pHRXI2RWFyMjBKOXNFdWtQQTVxbSs2NVlL?= =?utf-8?B?OW1oeXhaT0JSWC9JcG8yYjdMNU5OWDVJb3ViWlFNYW12QUc5NTlIZGR3ZWJo?= =?utf-8?B?dXEwQmJseXJUVTd0TXVHVTJSbmVwTFlFcXV1MXQ1VmNhUVVDRmJLeUxwZjc5?= =?utf-8?B?MStWQXcwMzJZdU9oZDgzQVowR3VweDNVM2FNOTd4UXF2OC9BczlIc0gxOGdD?= =?utf-8?B?QWExTlNxK1dtWkFpQ0FNOTFtc2tSOW5aeThIZWJUSUQxaklpQVBvVmF5RXdm?= =?utf-8?B?MDlGRHlML3dIM1B6YXY0eFh1WUFkMUlVMHUvKzdPU0RDMlpIVlRiMmZTU3NZ?= =?utf-8?B?Zm5WRzFVRk5QQzdlVWFERkJuUSt4eWIvVmRNdjFzRDNsS1g0TzRBaVduZWRB?= =?utf-8?Q?air0TAQ8Aca6yI/sNUt+JdU=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 90b60371-006f-497a-b9b6-08d9dcf109e3 X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5000.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 15:16:46.3283 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GNvMz0gll7Vs39eANUbKWBhMBxiqM6Fru2vat1yoifVm6js8pzllbRycjceLgAuyZgtDEX1+nCU6vgObfxV65w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3129 X-OriginatorOrg: intel.com 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 On 1/6/2022 4:03 PM, Xiaoyun Li wrote: > In csum forwarding mode, software UDP/TCP csum calculation only takes > the first segment into account while using the whole packet length so > the calculation will read invalid memory region with multi-segments > packets and will get wrong value. > This patch fixes this issue. > > Signed-off-by: Xiaoyun Li > Tested-by: Sunil Pai G Can you please check following check-git-log.sh warnings: ./devtools/check-git-log.sh -2 Wrong headline label: testpmd: fix l4 sw csum over multi segments Wrong headline case: "testpmd: fix l4 sw csum over multi segments": l4 --> L4 Wrong headline case: "testpmd: fix l4 sw csum over multi segments": sw --> SW Missing 'Fixes' tag: testpmd: fix l4 sw csum over multi segments > --- > app/test-pmd/csumonly.c | 41 ++++++++++++++++++++++++++--------------- > 1 file changed, 26 insertions(+), 15 deletions(-) > > diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c > index 2aeea243b6..0fbe1f1be7 100644 > --- a/app/test-pmd/csumonly.c > +++ b/app/test-pmd/csumonly.c > @@ -96,12 +96,13 @@ struct simple_gre_hdr { > } __rte_packed; > > static uint16_t > -get_udptcp_checksum(void *l3_hdr, void *l4_hdr, uint16_t ethertype) > +get_udptcp_checksum(struct rte_mbuf *m, void *l3_hdr, uint16_t l4_off, > + uint16_t ethertype) > { > if (ethertype == _htons(RTE_ETHER_TYPE_IPV4)) > - return rte_ipv4_udptcp_cksum(l3_hdr, l4_hdr); > + return rte_ipv4_udptcp_cksum_mbuf(m, l3_hdr, l4_off); > else /* assume ethertype == RTE_ETHER_TYPE_IPV6 */ > - return rte_ipv6_udptcp_cksum(l3_hdr, l4_hdr); > + return rte_ipv6_udptcp_cksum_mbuf(m, l3_hdr, l4_off); > } > > /* Parse an IPv4 header to fill l3_len, l4_len, and l4_proto */ > @@ -460,7 +461,7 @@ parse_encap_ip(void *encap_ip, struct testpmd_offload_info *info) > * depending on the testpmd command line configuration */ > static uint64_t > process_inner_cksums(void *l3_hdr, const struct testpmd_offload_info *info, > - uint64_t tx_offloads) > + uint64_t tx_offloads, struct rte_mbuf *m) > { > struct rte_ipv4_hdr *ipv4_hdr = l3_hdr; > struct rte_udp_hdr *udp_hdr; > @@ -468,6 +469,7 @@ process_inner_cksums(void *l3_hdr, const struct testpmd_offload_info *info, > struct rte_sctp_hdr *sctp_hdr; > uint64_t ol_flags = 0; > uint32_t max_pkt_len, tso_segsz = 0; > + uint16_t l4_off; > > /* ensure packet is large enough to require tso */ > if (!info->is_tunnel) { > @@ -510,9 +512,15 @@ process_inner_cksums(void *l3_hdr, const struct testpmd_offload_info *info, > if (tx_offloads & RTE_ETH_TX_OFFLOAD_UDP_CKSUM) { > ol_flags |= RTE_MBUF_F_TX_UDP_CKSUM; > } else { > + if (info->is_tunnel) > + l4_off = info->l2_len + > + info->outer_l3_len + > + info->l2_len + info->l3_len; > + else > + l4_off = info->l2_len + info->l3_len; > udp_hdr->dgram_cksum = 0; > udp_hdr->dgram_cksum = > - get_udptcp_checksum(l3_hdr, udp_hdr, > + get_udptcp_checksum(m, l3_hdr, l4_off, > info->ethertype); > } > } > @@ -527,9 +535,14 @@ process_inner_cksums(void *l3_hdr, const struct testpmd_offload_info *info, > else if (tx_offloads & RTE_ETH_TX_OFFLOAD_TCP_CKSUM) { > ol_flags |= RTE_MBUF_F_TX_TCP_CKSUM; > } else { > + if (info->is_tunnel) > + l4_off = info->l2_len + info->outer_l3_len + > + info->l2_len + info->l3_len; > + else > + l4_off = info->l2_len + info->l3_len; > tcp_hdr->cksum = 0; > tcp_hdr->cksum = > - get_udptcp_checksum(l3_hdr, tcp_hdr, > + get_udptcp_checksum(m, l3_hdr, l4_off, > info->ethertype); > } > #ifdef RTE_LIB_GSO > @@ -557,7 +570,7 @@ process_inner_cksums(void *l3_hdr, const struct testpmd_offload_info *info, > /* Calculate the checksum of outer header */ > static uint64_t > process_outer_cksums(void *outer_l3_hdr, struct testpmd_offload_info *info, > - uint64_t tx_offloads, int tso_enabled) > + uint64_t tx_offloads, int tso_enabled, struct rte_mbuf *m) > { > struct rte_ipv4_hdr *ipv4_hdr = outer_l3_hdr; > struct rte_ipv6_hdr *ipv6_hdr = outer_l3_hdr; > @@ -611,12 +624,9 @@ process_outer_cksums(void *outer_l3_hdr, struct testpmd_offload_info *info, > /* do not recalculate udp cksum if it was 0 */ > if (udp_hdr->dgram_cksum != 0) { > udp_hdr->dgram_cksum = 0; > - if (info->outer_ethertype == _htons(RTE_ETHER_TYPE_IPV4)) > - udp_hdr->dgram_cksum = > - rte_ipv4_udptcp_cksum(ipv4_hdr, udp_hdr); > - else > - udp_hdr->dgram_cksum = > - rte_ipv6_udptcp_cksum(ipv6_hdr, udp_hdr); > + udp_hdr->dgram_cksum = get_udptcp_checksum(m, outer_l3_hdr, > + info->l2_len + info->outer_l3_len, > + info->outer_ethertype); > } > > return ol_flags; > @@ -957,7 +967,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs) > > /* process checksums of inner headers first */ > tx_ol_flags |= process_inner_cksums(l3_hdr, &info, > - tx_offloads); > + tx_offloads, m); > > /* Then process outer headers if any. Note that the software > * checksum will be wrong if one of the inner checksums is > @@ -965,7 +975,8 @@ pkt_burst_checksum_forward(struct fwd_stream *fs) > if (info.is_tunnel == 1) { > tx_ol_flags |= process_outer_cksums(outer_l3_hdr, &info, > tx_offloads, > - !!(tx_ol_flags & RTE_MBUF_F_TX_TCP_SEG)); > + !!(tx_ol_flags & RTE_MBUF_F_TX_TCP_SEG), > + m); > } > > /* step 3: fill the mbuf meta data (flags and header lengths) */