From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0077.outbound.protection.outlook.com [104.47.41.77]) by dpdk.org (Postfix) with ESMTP id 0FAAE1D7 for ; Mon, 15 Jan 2018 13:48:27 +0100 (CET) Received: from BLUPR0301CA0029.namprd03.prod.outlook.com (10.162.113.167) by BN3PR03MB2356.namprd03.prod.outlook.com (10.166.74.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Mon, 15 Jan 2018 12:48:26 +0000 Received: from BY2FFO11OLC007.protection.gbl (2a01:111:f400:7c0c::198) by BLUPR0301CA0029.outlook.office365.com (2a01:111:e400:5259::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.407.7 via Frontend Transport; Mon, 15 Jan 2018 12:48:26 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BY2FFO11OLC007.mail.protection.outlook.com (10.1.14.254) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Mon, 15 Jan 2018 12:48:25 +0000 Received: from [10.232.134.49] ([10.232.134.49]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id w0FCmNQm024243; Mon, 15 Jan 2018 05:48:23 -0700 To: CC: , , References: <20180115124212.7011-1-akhil.goyal@nxp.com> From: Akhil Goyal Message-ID: <87cc91ca-70c7-44a2-d5b2-e2263816c0e2@nxp.com> Date: Mon, 15 Jan 2018 18:18:22 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <20180115124212.7011-1-akhil.goyal@nxp.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131604941059760735; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39860400002)(39380400002)(346002)(396003)(376002)(2980300002)(1109001)(1110001)(339900001)(24454002)(189003)(199004)(8676002)(8936002)(81166006)(65806001)(68736007)(64126003)(36756003)(31686004)(76176011)(305945005)(356003)(81156014)(86362001)(15650500001)(53546011)(59450400001)(54906003)(316002)(58126008)(2906002)(47776003)(65826007)(77096006)(83506002)(10710500007)(23676004)(2486003)(2420400007)(2351001)(106466001)(2950100002)(6916009)(966005)(498600001)(105606002)(67846002)(65956001)(8656006)(53936002)(53376002)(5660300001)(230700001)(6306002)(50466002)(104016004)(4326008)(6246003)(97736004)(85426001)(229853002)(31696002)(7110500001)(21314002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR03MB2356; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11OLC007; 1:sxV6p8Pl0vCt1cd1m1LhQkv9zzgIeQ5s+7HB9t3upVzI1oZKMznMz0kla6fZ8nR628szMki/mk4M7dGJgI3SYKCiHbFp35MIl4uUjcD+PuHN73oPQhkioocn49EI0b/N X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 46122b3d-6866-4930-a25f-08d55c164504 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(5600026)(4604075)(2017052603307); SRVR:BN3PR03MB2356; X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2356; 3:dov5fZt8i9LAdXPRVv13mOdQo2PkahWOmQ/uixYYgSZr/7lJVwdchqIFUj8tINUbkaQVAPcpU+WiRIN4Y1TrFooD/YbyJH774nAjl1LEOJLA/uajJzWogT5eTqcfEpR86jZgy5ZBBQETykghtenV5Pc6LijvtRBJmUsAAK7zvYDu9BGVMdO2ofamDI/xQwDvP5BlJmDjsuNJ3vJ6jh787ScaBOPgUayscK6pcIbPr+U9A+6DWw3XHfn/axapuvyJ7/p/RQQ/LUDFKSCO1Udsdvf7iPRs9vIOLGyTXcT4gBXLGdQ9OlHp602ABF9JZjpGQGVg1qqr+g310MRPyjlTK36RgMhrPc7skfGC/aHuULQ=; 25:q4ojcAFupOeHwb1MaK6qaDdGcgW62rqpZkeSCs3M5xJ2wmD3QXy84gDRU1xL1KilMlDMkP3Ki/9Gz6qrWxzqBtmZ+NgYr1+WkHBuTbROYd+6II/foBpuID4xFVB8XZcE0g42GmyfvGCqLkjbaZLFKSf3ySfVzyx3CiILFbTg7DZqjENT5ZZOR4i/Q18DQrinlTbkg19sC0VhkXGyK7YXMzNZkgu2AHEwvb+PUYygLftVvDZcA7cs1AEUrMgD7ABMt4MQ/3JLMrGe5cIfahsTCl8MtUk+m+tRp7X2n6aP9Eo1zOlmIdJMlqOjqms8i47xvKsTHOBLQ9OmjCQBZkBIeg== X-MS-TrafficTypeDiagnostic: BN3PR03MB2356: X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2356; 31:arjow9DJ1cT7P4W6NnNR0LBOzTbQabEsNFNaudtFM3EXIxG1PI/bvGNJ7ITNwXULSQJgb49lPWyvaWjt65v3/C5Q2OzwVUzt6llTlRJHDHkF+0LN2cMLU3HhRASPN13uNm8ZQ7oWkGQdEchkm8SPrv5LXUzaxlWQB1kOn5e9ZZbR0/teOGt7GzYLeNOfzAcAI7sThNvIhylc09kb+W17RUj2XvFrU2XurpaqU5Mb04E=; 4:pSgVqEQoFSjAf98QlPaLzebYeoGzmMM023bMI55v/MUMc4GnkY9Nv5Z90JdXK9xxIJvA3t93I66NALH/bum7/v0BCKVcFjAGn4h44pYZ1UIPZhIGjbpmgAgisd8VbIBeZEWdoWz7PHj2sWMBnX/2C5fHfClw6TUaO8hPtfpCtnJN3S+SpzFBeiCFzjB4GoaV/PA7FA26Aditt5Vhofxpdn+GN3PGbM5JjtlNIGB7JzD8FSNiqKtbqSnVyHgK3LHKGbO23g77KxiAi82iLhkOvUgKqYVZpqKofPMRNml0T/xyfXtSov5HDfmp7Y10cgHm X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501161)(10201501046)(6055026)(6096035)(20161123563025)(20161123565025)(20161123561025)(201703131430075)(201703131448075)(201703131433075)(201703151042153)(20161123556025)(20161123559100)(201708071742011); SRVR:BN3PR03MB2356; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:BN3PR03MB2356; X-Forefront-PRVS: 0553CBB77A X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjNQUjAzTUIyMzU2OzIzOnl1dlZ0L0dhcGNjQ3E4RWxuTFNRSGlSWHoz?= =?utf-8?B?cU1SYlNDdHQxd3VBUjJHQ3FQS3lwZktaRW5zeUxkTlcvWW1DQmZsSEw5Z29B?= =?utf-8?B?VjJKL1MyK01weEZOQVNYU3ZsOHBCS01NaE5lMmk2UDBzOWNqMEJObE5SMGF1?= =?utf-8?B?V1JSbmorNkNSYXJXZWNrb0UyMUp0eGhBZG5WbVgrdDc5NTFEN2xtVWhOOFhs?= =?utf-8?B?MGE2Y2hlZXNuWFZhb2piQzE3dGVzaE05TnJJSmFTSnpjWkxKTGFjTmI2RjB0?= =?utf-8?B?Wm02NFBLeEZzNmQwRkoyY0p1UDJqOG9rMTVESklqT0hlQTdNK2tTU21DSW9C?= =?utf-8?B?em52KzhOcnkzSW13RzZQSUdpcksvMDNzb2gwUXRmMTdJdXF6bXU2a3kwV3Fo?= =?utf-8?B?Z2pZbElOenNqa0h5UllZbU5WWCtmYVJYT1F2WmV3WnFJbzJCZE1UTUI5Y2hY?= =?utf-8?B?ZkxibnhZaXR0L3Y0QSswK2l0RmJjSk9TYW5WdXl6K0k3RnlZZ0xWcHgrbmRO?= =?utf-8?B?NHNTbXp3Rm5VYVlKOFNhNW8rNkoreWJDOG5pNGtNRXRVOG1wY2ZmKzlUSjc4?= =?utf-8?B?VmY0bWt0MjduSVE3UGNvSWVEOWYwUlcrYlpCdGZYa3dsNWI1aDNDOGNnUlpI?= =?utf-8?B?cm1KQVVscWt3bXRCWnFrNDFpN1NqRXVhc2RQajFobjc2c0ExdUFaOUluWjNa?= =?utf-8?B?cGJweExWRjh2Y2VLWEdCMGswVHRoUWYzbEw4bVhFNDl2bzQvZ1lTeEdzWS9O?= =?utf-8?B?RFlsaWtjZC94dlBLL1hhTFVVVW1lTHNqaGEzMkNHRnN5ZDU1UnZrOUZjYkxk?= =?utf-8?B?OGdVb1hqRHVQUWJNUEU5RWE5NTJQV3ZQby9INWtjWFkza3gxU3owWEFac1Rp?= =?utf-8?B?Y21HY255L1ZWTkk1NmIvRFNpTmltbHJBejgyWDNFbm9UcEs0Qm5UZ2wvN2o5?= =?utf-8?B?NGZ5eHNZajVTNXE3dnNKeld0bXRtNVVTWXV5UDFpakVWbExVbEVFSVdYL0Nj?= =?utf-8?B?WHIwNllSTDVLT0VmeFpEbGVzRnlWZlBLNU10Z2JTcVVLV1lEbjQ3d0ZvckNq?= =?utf-8?B?cmdtWGFGWjE5N1dPUlRENWJoZEYzUFFsNUlqeWNBYUZSMmpXd1liVWpJL1JZ?= =?utf-8?B?aUNXMlUvaHZmYWwzRlRmSjBoQW1yVTRhS2JHc0c5bkFwdVZHOTJxNUJzSlNN?= =?utf-8?B?OGczZVNmelNvUVFvSXhmZTNHenEwSGFwcnRWcTFFaGJpNUxXeFZXU0lBVHRv?= =?utf-8?B?aVl5SWRFYTd6TTZnMmlUSEdBSy9OQzdWV1pQVlVzWUNOTVladTBHR0RxZ0hh?= =?utf-8?B?OVpWL1RMelUxUDV3VklFNTc4MXptOCtXVU96ZzdySVZSRUJRaU9YTHBOTDIy?= =?utf-8?B?YmlkcXRoeVg5clo4dmovWlJSdVhCbk5hQmFBc2J0aFZjazIvdGxoRkd2K2sx?= =?utf-8?B?K1VsS2xsY3ZsTHZaT1RPYUVzaFNsaEUyNWxRZWoyZnlSZzN2ZzZSSy9kNkd3?= =?utf-8?B?enJianhsamZjMHphUVYrV0srNHlDUDQ5NEJRUmZFOXo0ZmNTL2g5OVR4REQ0?= =?utf-8?B?ZFAvTEl4d3U4Z3FtY1NYSVcrbTJMTTUyV0Z1TnhGT29VMGVZUW03c0lKemg0?= =?utf-8?B?Sk54RURNV3NFNG1MaXZ5Rmt0QXZIUUVMQThQQ1prdW5ya25MRTFoeDBIQUZ5?= =?utf-8?B?ZzFyZ3htZUQxUHhLV1BaS0tablU1MHYrWnAwRUJHOXhRdUNRTmNvdFlTczhJ?= =?utf-8?B?YjBBY0pOQWpJVnM0SFFZRnd5MGZMVjh0NDlURFJ1K1dkUTVXNW9LZjRQZW9x?= =?utf-8?B?QzgrL3U5dXdjZVJITXhDcHJMdFRKQ2kwckkvK3hhSlA3SW5jeFVKMEU1R2l2?= =?utf-8?B?ZTZndWJwZ0dCUUFGdSs3K0E5TlBsaWtVdlJpaUw0aFpKM25NWGlsazZRUUwx?= =?utf-8?B?WjdzSWlqM0Mvb0x1ZldzS2d4Z21UU2thU2pLZjZUa21NQUNMYXRxZFZ3M2Ra?= =?utf-8?B?Y0RnV3orYVF3N0k3T3B4QUYybGEra29tc2s1TG5HWDROd3pHRkhxZzNEdXBy?= =?utf-8?Q?+veA=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2356; 6:omfhJ+Dx/gsvNnoiV5L4pIiBDjHwC6MlEmbAoh27f2FafgerqHSM54c5IAX15eWSRqtSn9OCr0mqweCdqj7RwJCFzrLqDNTuKQdjGjrzgWM7vvxvpvmRN/dgSDrbiEQ2/YprcZl4eugpa/GohLquQ2OM/pq0bTASEfSEzbJQrUvotJdS1lxRg4SZXd4LyfPVWnyxW1yukNU9HLoC8L6brHJD2M7kTwlMX2WZNmNuLjTyLu2/CZ1G+1JBrtUq9nycmrmfY0CIcta2vOBDYw5g4WiRluWcjhDBoBFvP3Ee3f2q+nED0a3980KHBa3P0p5hWYrpVocxPgiReMEHM/9Fl0dS8RWkVguYb6lKsyMKvSM=; 5:AnDlmaf/E/T6jhEPnaPCtcWRJKEDDJjF6SeCIoE7sisoSk0nkoXXuu2/MqvYtMX+KUuygJSLt0MTXOdA52Cdk2EElC6UIFLhbktAp8CogSXxcsOHuWs2JoZh/pfLNSvQRhcplZXOgkr9wDYeDqyrgbd5OHNNqeJXCoGM854KxPc=; 24:WkRptVU4Gq5D4aLVIybXPA2X/EcAWhWRluZOIljYKa0PUXSnKIBxnmg46tj1+HfoX/NQxLKWal2l5wXV5oGwe3LgWJsbhIWqeC7Q25oc1xc=; 7:WlHeCeuRQEBlxSTdaaO9W29KvXO7sNhiwYBgeCBLXAwWGK5TAyXSSAf47ScC59XsBsCNag98eCFfkhk+knjpjVua36gKMDxvLiNtfykOaFRwkksHZdnaHLMY8fVHp+hNcy1lSGiCzmTwVpUlij3U5AYPruDnOGV3VoyLjR7zIMJH3kbBXdWDhxXISNZ/++mFqBPZbWkOt13hvnzx4HD+9BwwxkCUutOuo62MNqU/HFVH6l1oO6ASPOn7qiD4w8hE SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2018 12:48:25.7889 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 46122b3d-6866-4930-a25f-08d55c164504 X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB2356 Subject: Re: [dpdk-dev] [PATCH] examples/ipsec-secgw: update incremental 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: , X-List-Received-Date: Mon, 15 Jan 2018 12:48:28 -0000 On 1/15/2018 6:12 PM, Akhil Goyal wrote: > When TTL is decremented or ecn is updated in IP header > before forwarding the packet, checksum needs to be updated. > > In this patch an incremental checksum is added for ipv4 case. > > Signed-off-by: Akhil Goyal > --- This patch is an update to a very old patch which was rejected earlier. http://dpdk.org/dev/patchwork/patch/16113/ > examples/ipsec-secgw/ipip.h | 19 ++++++++++++++++++- > 1 file changed, 18 insertions(+), 1 deletion(-) > > diff --git a/examples/ipsec-secgw/ipip.h b/examples/ipsec-secgw/ipip.h > index fb6a6fa..13b8455 100644 > --- a/examples/ipsec-secgw/ipip.h > +++ b/examples/ipsec-secgw/ipip.h > @@ -27,6 +27,10 @@ ipip_outbound(struct rte_mbuf *m, uint32_t offset, uint32_t is_ipv6, > if (inip4->ip_v == IPVERSION) { > /* XXX This should be done by the forwarding engine instead */ > inip4->ip_ttl -= 1; > + if (inip4->ip_sum >= rte_cpu_to_be_16(0xffff - 0x100)) > + inip4->ip_sum += rte_cpu_to_be_16(0x100) + 1; > + else > + inip4->ip_sum += rte_cpu_to_be_16(0x100); > ds_ecn = inip4->ip_tos; > } else { > inip6 = (struct ip6_hdr *)inip4; > @@ -95,8 +99,17 @@ ip6ip_outbound(struct rte_mbuf *m, uint32_t offset, > static inline void > ip4_ecn_setup(struct ip *ip4) > { > - if (ip4->ip_tos & IPTOS_ECN_MASK) > + if (ip4->ip_tos & IPTOS_ECN_MASK) { > + unsigned long sum; > + uint8_t old; > + > + old = ip4->ip_tos; > ip4->ip_tos |= IPTOS_ECN_CE; > + sum = old + (~(*(uint8_t *)&ip4->ip_tos) & 0xff); > + sum += rte_be_to_cpu_16(ip4->ip_sum); > + sum = (sum & 0xffff) + (sum >> 16); > + ip4->ip_sum = rte_cpu_to_be_16(sum + (sum >> 16)); > + } > } > > static inline void > @@ -140,6 +153,10 @@ ipip_inbound(struct rte_mbuf *m, uint32_t offset) > ip4_ecn_setup(inip4); > /* XXX This should be done by the forwarding engine instead */ > inip4->ip_ttl -= 1; > + if (inip4->ip_sum >= rte_cpu_to_be_16(0xffff - 0x100)) > + inip4->ip_sum += rte_cpu_to_be_16(0x100) + 1; > + else > + inip4->ip_sum += rte_cpu_to_be_16(0x100); > m->packet_type &= ~RTE_PTYPE_L4_MASK; > if (inip4->ip_p == IPPROTO_UDP) > m->packet_type |= RTE_PTYPE_L4_UDP; >