Message ID | 1497861201-30262-2-git-send-email-yossiku@mellanox.com |
---|---|
State | Awaiting Upstream, archived |
Delegated to: | David Miller |
Headers | show
Return-Path: <netdev-owner@vger.kernel.org> X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wrkm23K5Nz9s76 for <patchwork-incoming@ozlabs.org>; Mon, 19 Jun 2017 18:34:10 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="yvAvL2xu"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753506AbdFSIeB (ORCPT <rfc822;patchwork-incoming@ozlabs.org>); Mon, 19 Jun 2017 04:34:01 -0400 Received: from mail-he1eur01on0077.outbound.protection.outlook.com ([104.47.0.77]:11136 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753428AbdFSId7 (ORCPT <rfc822;netdev@vger.kernel.org>); Mon, 19 Jun 2017 04:33:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=2uw4a/kTY+w1l7Yu3uMXov9JbN1RRm/uH90gq4BNm+w=; b=yvAvL2xuFbsQ5IfFQ0pumYj67F8jGVGGd36zuWWIbbSevFtE/S1XEm8Ta39Mo/nodphVnyrWfZObdO7tWuCuUuexrq1C3Mcwy1FrtUboUXmjVbSMjfrmRNBN/js3PUOGpOTDg8qI+/X2l19KKTCm6YPUqYpw+C8IMZXohnYb47k= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=mellanox.com; Received: from dev-l-vrt-187.mtl.labs.mlnx (82.166.227.17) by VI1PR0501MB2288.eurprd05.prod.outlook.com (2603:10a6:800:2c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1178.14; Mon, 19 Jun 2017 08:33:55 +0000 From: yossiku@mellanox.com To: netdev@vger.kernel.org, Herbert Xu <herbert@gondor.apana.org.au>, Steffen Klassert <steffen.klassert@secunet.com> Cc: Yevgeny Kliteynik <kliteyn@mellanox.com>, Boris Pismenny <borisp@mellanox.com>, Ilan Tayari <ilant@mellanox.com>, Yossi Kuperman <yossiku@mellanox.com> Subject: [PATCH net 2/2] esp6_offload: Fix IP6CB(skb)->nhoff for ESP GRO Date: Mon, 19 Jun 2017 11:33:21 +0300 Message-Id: <1497861201-30262-2-git-send-email-yossiku@mellanox.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1497861201-30262-1-git-send-email-yossiku@mellanox.com> References: <1497861201-30262-1-git-send-email-yossiku@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [82.166.227.17] X-ClientProxiedBy: DB6PR1001CA0043.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:4:55::29) To VI1PR0501MB2288.eurprd05.prod.outlook.com (2603:10a6:800:2c::13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b319bf99-b47d-43f9-7c5a-08d4b6eded10 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(201703131423075)(201703031133081); SRVR:VI1PR0501MB2288; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2288; 3:YVfmSHpdI9Ms+3e9xYRfTTZJlBc8zP/uWkWi92SHgsIixDP5V/5k5akYysA6q+wYk3SHz6jkok9x/AcF8m8tfmn13/j+QFxScRSHbs4EJetltMix8HX+jQCon4WbEcSLXgBSbU9nFJSHe9Wzc6ptdrQMH4lHIi/AQUd/krfOAkxO25vqkTFn9ADYMxOUty5CYB0ePgAYhOW3/J24caNpzgO1C+Opo0nRu1gvK1j+VU9eQzajAFAWwSP24OESNeONoOg6OAFZdwbMgU5tFigH93AEYUaaU7eNjzasa78F1YZJgKgTZDNaSiI7ZgxVznkQXa2/yhgqrrgZvxxBTq+lUuO0OC7ELw1LUfL7cSTk8k8=; 25:DwAfcSiOR4HApxDXQ9LLDvite6LlUIknEPEiYr/YHtPS8bWV3NdFsRfMLyxWMRsUM/mHYZ31TiyR/dSjchO2DqyGu0CXM1ZAQFbgzgft+Kixnnvs+g1IT+SYdZtVmvmcjM0cdlrJ6o3TSSdKCZDgi91galh1XfcvazIQnFmVpzRaK+jn/GUxDEslivpAz/enKVs5qbsQnJZC0uWrcoxmo5Ot37pdH2yHmg8yU+6KrKPUpnQXZAntn85kdKRpKWZjxQCac1M7xZEZjlRJTPZe9pjItnJhGAXAF4T4e//iErDQdrOEsnPTY8iU+aT/5rR0DJqjoH59v0MHySAHjcaQxb0Vnn2T/KBntx3Apv/ZUeD6jf3k6sgmrogub9wNBlEJwJOLxcvvB4nKplyEP4iXRSUK9aVQx7NmLxBx6gymICvkYKCVcdYJlwZyNZpaBAFWsTudFQqsEb19FxwdxFwJfGzAQROToDJyJaR2Z0jus1w= X-MS-TrafficTypeDiagnostic: VI1PR0501MB2288: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2288; 31:e4G8olZ61ek4xQfyykU7+2Q3kOyD4ejHuz7j4EKkGxQEYWoyj8W9xQ6JpW5rZwxgqvV1pJ8mvwA0dE6YGwrJ1mKm7j1ie47E4owlK84roGwrjf4AacuTKZabIsBlMoU1JXY3J9+5WfYnXsywatoqY2o4bSX23gxaL47aFvGEPFi6hEeDDYavVT1wgwfJtwQqzpoChj2pn/r7oJSQRN1hNo/1cpsKQuugK40s88buTTvVd+J5U/R0axc9KWO5JE/RgCWxNmVakHpExmeqFRMonw==; 20:ddxrCrAM67sosryco5sQ7Ds5fAroDGUzBArZGY3piiqneI90YID2vNZ0OGjwJGxkF3xiLhCPsxHY571Zwp97iX8rSgW1x3veaVMkzbvIgOkIxFJLgY1wRc2mDlDFQnO8v5MQHG2xCCesSdfXYch6M6xG09DkGYp9RwPhSxsENdswrtoRQf/ISRaPqBnylM1olS2/IoNTrsKVVyw4tMKXC9lMVnxs4PFQ5EKGES96JqrshK6Xo2sZ71XZ9ahrSktgh+Aby+IlomV3T1C0yuM8mvWZA/0IRcxgEi+EsmzFup3pcgVH+PYAatXZ2s2wnMzr+w6NMW4v6Hk9QsaL3mo1jcIM8ueidsGUO586SciKoHIpz98u4Sql/AATHyjARQMRPDOJ2pUFSDm8GhmYN9nlpCcfCet6RWQMYaN4vhNykVXZ/WNe4W2eDYMkwoCt2SGvqsTF4eERv1YYiJe3JFnTCT3YVo5lXTK+pPNPc8UtXdbZlKYfSUXvxPTjOC2gyXWb X-Microsoft-Antispam-PRVS: <VI1PR0501MB2288F5D2F11E5A742E9D00BAC4C40@VI1PR0501MB2288.eurprd05.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(20161123558100)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:VI1PR0501MB2288; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:VI1PR0501MB2288; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0501MB2288; 4:AQGtazP8b4zfKCDCmHRQ9Cs++5DEuFT9GBoIbz4l?= =?us-ascii?Q?lrCvedZIhwwT4GNo/FRYRpKkMptMj0q+ibo86DXx4Ol5EYLrEXVAIRXhnlkt?= =?us-ascii?Q?jVXrRgKO5FrtIFIUxiYc286e9dckDq4dOWxyC35vDLgD2lp5QRl3YvJUIKDx?= =?us-ascii?Q?TQTJCCX7QzbuEvHZC+gK0cwC2m2mPtZ4OSX4IkVEgL5WWZhhnBT3lLg6/4k5?= =?us-ascii?Q?tfsrDk237CNFLPTIS1KT+/o+5DfhLQ5+sl599tmtYF27llEqtoOc8CDTW8S0?= =?us-ascii?Q?3pSzAP2Bi+llX7PMSBllkhcKQun8t7xOAfexWpoE5pyN63tQn/IBRlwMvNUp?= =?us-ascii?Q?fgZQ3c5mTOTVykjryzX3fY17XBa1PG06AzeCQm1rf0kg4vJZffXki+t8x1Ri?= =?us-ascii?Q?fvqG8q2vX6l+eaa9JRrRyjxN7+p9vYIElBUMuQbPHjep8sy9YCW5AM1Dxhyy?= =?us-ascii?Q?xzqp/uOMbSW91UU17KWx6ON7hEPiN5uj2QA4ExFXMvIGVyIe10PGlbFYpWnM?= =?us-ascii?Q?dYGGLC81702ogvHnRf+jc4//vP0fvtwPnx/xn1ckAgk4kQOetyX2K8f4ejfa?= =?us-ascii?Q?G37as63h0ak5FbrKqqYQHpxXZxMrw6ppHLB5yFW+zLdAedZUy1EfLrGg90dP?= =?us-ascii?Q?eF29W/6C47pzTfC8WPW159gC2ACZhfuQz4EjgxQzkAUhZaAy09e0uwYhO4kE?= =?us-ascii?Q?0iKIt7mFMHDYMsXxdo+/gw5NSLMNS+DYQhUlxt6/cblnbOGjmY9DNjyugEuG?= =?us-ascii?Q?Ci+3n22i/D9wlRK+k28YTprJzia8Kzq9Nh8ySTLyZJN+BkMsBKNpcJSVeV7c?= =?us-ascii?Q?cjOmzH0oUPg2xixWUJlmVhxHBIf/MIEzsPlT72CjbZhZsuchlCWa+2hDvJJw?= =?us-ascii?Q?Csp50k5122oG256qcT+QN/KfJf9xcjM3NljC4or0Y3Re4/dtJvn2SJ1/TjB1?= =?us-ascii?Q?dDmqOpbldIi8PxpHYiQmDrJsCKwDBEcR+1iuwfZnDpA31Vbky4xrcmVRS356?= =?us-ascii?Q?glr700yi+r8nbTkEP/cUqEU/D4/adaG99g+GoflW4Tk1kJDGZG8gz4GBTmfM?= =?us-ascii?Q?qD0QD/ne+VmHLC8gnmN7dWuTdVMOP3g6Vc5Ryygw1BBv87TggJMkxIMmigeW?= =?us-ascii?Q?h2V4bjU6AC0FeTzdnquOZX3+CKWfMQ/kmzqURL6BSdeyo+XWfE37tw=3D=3D?= X-Forefront-PRVS: 0343AC1D30 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39410400002)(39840400002)(39450400003)(39860400002)(39400400002)(39850400002)(9686003)(5660300001)(48376002)(38730400002)(42186005)(50226002)(54906002)(36756003)(6512007)(81166006)(8676002)(53936002)(305945005)(5003940100001)(6486002)(107886003)(66066001)(189998001)(33646002)(478600001)(6666003)(7736002)(2950100002)(25786009)(86362001)(50986999)(76176999)(47776003)(85782001)(4326008)(6116002)(3846002)(2906002)(32563001)(85772001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2288; H:dev-l-vrt-187.mtl.labs.mlnx; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0501MB2288; 23:G7cS0tN4c7eX+xHAYe8qGKdp5EEoOOjBkkzA/XR?= =?us-ascii?Q?69z7Sf3bh0aznsVNaYmHcuqCw324jFU1QXv7N2lnaAiRJiqU4eQOcE1Y2Bjg?= =?us-ascii?Q?/GpP1Uv4p/YoVAoZevDuVL+DPyWLtqxl9MecYqhZr1bFDTgB8bTQru10U1f5?= =?us-ascii?Q?ZgUudLeCVIeKrpnnKGnYiodBJqKydgZ04JambTvtGrTQTZSh/lGJhbJ8lRUG?= =?us-ascii?Q?mbD4h/QBCImwrNCZm8I5V+YhW+5jPmWHxOsBF4PvjuSeszyqJcraUsN7fc/A?= =?us-ascii?Q?qqeWkWL2p1PXZRKYcN6ebvtLxpKRh88hKwoywK49VN+fLCzZ0V+tyFHArpMr?= =?us-ascii?Q?HDIwHXfCSXidFCxcRB6piQVEea1JVY9rvFPyQyCFnderbW8Bxf8sWBLMVkk+?= =?us-ascii?Q?fn7buZvKvQd54wzRZe4KUxNOd/YqXGuE9Phtbeoo6GbLhgYAE5NQ8N5T7o6X?= =?us-ascii?Q?T4Tquty1NTrPeHr1jt+w4tC28+YRhk7JGZRBjDSTCepaDd+HSBBLEhvp3mxU?= =?us-ascii?Q?YnkuweJs6k+vmSLrfkxBJJvL2MeBl+Oli7XFZZb5ffhnhwcghrEebUYflY7/?= =?us-ascii?Q?HlArSJzZzeC+RsSg4tqXDHjZQLYZI3Gb/QAvnwbT4FMC38euEh+62UmrhzL/?= =?us-ascii?Q?FCE2hX4Az09h485cOqPSu83Z+CKH2G09To1+k+kCfgXU7fh0VAoE28apvySn?= =?us-ascii?Q?Q6U0Shfc3fhJUwW7kWBl9O2FXIZ7iYj+89z+uGrpcbON5fYUL+xmEtYrZafB?= =?us-ascii?Q?gObIv3LAdcFXEcSjgO+SHKBgsEe0CAIVOPN9ArYTOZTmuuvnWF8ywK21ykym?= =?us-ascii?Q?nHIFcRZmWnngoC6gZCfrSDrA4xQlc3Noiq7ZvaouePKAqhtjUxnH0eh+tQRq?= =?us-ascii?Q?G1ymwd4aWm44dktcAQDNkoKrh77UftmifgyF6/lf8tTBKk1SKPhLRIhGY9Vk?= =?us-ascii?Q?eg+0X20Dp9wpOcDkWF1rMm5+g1C0uILomAhWvj9qahANyCSnNTlI+ZdnFd6s?= =?us-ascii?Q?M1oJIuwoPRqhpUOn85F+If57ng6RhD/dckBgb6fjlm2Oca8Cthk4qDfQpU/W?= =?us-ascii?Q?DnzloBEPbQjP6+IdHfu1b1D07/WrNNeLoZjFa7Yxyo1coKM1EfQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0501MB2288; 6:KNskgzquWg8q8cqngbUruw2xiP6Vu08jzC1FQklE?= =?us-ascii?Q?FGIEYh4HvcBCD4HlNswQEiWxtf/6IhE6WkCVsHVpo3IKH1EASyYhIE5AimGQ?= =?us-ascii?Q?qEPymniWlfDx3h1Cd7varmWd8aKAUnOgiSdb7NCmHJn28I4ShYTpj0ytDCxt?= =?us-ascii?Q?1JBoHgQN0eeqa6rfeBe2WzvmAwoIk/grSrXXTY8CcDA2Evp/hfnFSjrf/Uft?= =?us-ascii?Q?ezCPcp2NQHlZAY7Yfdcl8x2vi0ew9+gNPG4k/oHi4LckwQQLxfOhrKv31Hc6?= =?us-ascii?Q?B9/qce6rSYQEEa0GUNfQ7n5/dm6zDE0ZHiDnB36mubCaOD7Cmjklqc15JJi8?= =?us-ascii?Q?oaxzX8pl4Bm2FtPki39H4hnbmo7weohDtXy8Xmrrd0S+wESRyBekup2HKUxU?= =?us-ascii?Q?WcwolOD4uvEWzoPbYHPKtI5DymJtQ/ZuVqV+ZGe3FdkFb82YztU/BIvsyjVN?= =?us-ascii?Q?pMKlpSiEX6wJRG20tOb0OJpJvSCIMnoiTEq96Y2x3OR0VMIQJIZgD/aLIcvF?= =?us-ascii?Q?0/a7/7XeC+Bm7RFk9bJ8aR8RyLByl9X2JWYKJffFxPlRxQtO2Idieu+xBGxg?= =?us-ascii?Q?KQyn38QtCnsmgnN30UoyB+WHC2ue9+zRUS0TmFSNIsqvmaU69sKTvLI+fsxM?= =?us-ascii?Q?lw33oOLuK6d7a1alhQ+w9rD3x0th7G93Aik9yHqyjW2zLoBh/Wae0yJcQLoX?= =?us-ascii?Q?4d+tGZvH9BNnrWgbu8rq2DHct66bvklBMC6UHQORqH8Bvxk98uNJ3SHPu1tk?= =?us-ascii?Q?Qn3XIe9vdlu9PIODhjGMbFuktsEDNauuIU7/7PAXOjUq2i0x/IrtVlcwWFux?= =?us-ascii?Q?MHLVp47PNKiyT/6TvhS8YfuBM/Jzpjv5rSUHjFo2xPA4WvADiwJ0X2B3Bfd/?= =?us-ascii?Q?LTq8aTXHSkEowuMtIubun58PGUjJpBI3i2Vbj+ggsAYD6KM4zYS6oyPcPfbX?= =?us-ascii?Q?Yu74xMdaE0OIMtVri9OeMYx4ZyNeWPJwfkVB/vKp1cmwaj+0/oVLPlEYR7Pc?= =?us-ascii?Q?bWOHY1tDphdQJELQr13ghixp?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2288; 5:dReys4vMIVXNsMzVlfjVxangDEyLPhZc3cwC0zs2XXrlCd9BnGJm7zNDa6gykQa9tdk6jg+T0PDjwa2URQF97CCqbYEI04tFw38iTkL4w0voYImymiElemPtG4Of7uD0PGOSTWSyv9IwMb9LMyOxv0o+DK3AXOUaaU4RxnExU1FjUT4nSwJPcisCrs/CqYjbbeqQeQbvGfVqm18wBOnJrR8NdWm/A8epqTWdeHXYgTJ5JCxeN5p7bCrFfltcOO//F5ikyEQPwBg4L1qQRRWiMmIoFzL0/XAORSE6Yl8DzkqfF7meEbQJnnce91UWPeB+U6FnilRSeZ6gCJoPpejMGGM+1yoMu90pIz+BSxr3eAl6DVCrA72bEEY/5YbqXaOmtwB6R+4oH+YNdm+4T+WFd7hpuXXiTrAOpHr9bvD/P1H3drlbzTegoNpq9mg8Ko/+Q0uKD+xfrl9gr9VkxZuTbOO4LpzE+0+CypK2TkqK0sb3fXv5soBIddqEyCegM1rT; 24:dcVmZMnX7qHIOBjNivr2VB2datBLmaC6Ax6Jenic9h464HvzryfKDvt2Kx2oFXpUDACDY2d+3IB4gOZ6sms1NOI6qpLKo9C3H79Re+r6FYY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2288; 7:W5mKviv450peGWuPqCU3hUMw4Crpkysc7JKS0gvg6zgzQ+nyKD6jaBCJXtH3IvTOue/h0DbNgVPtgZVGoRYzjtPT7AjYJRZtd6jh9fh7OE5JfHxHm8TIlkXPFD6uoGKMsKH0v+uAluFnnz0rGH2QSc14uUW+7BIBZaWenSQJSG34A7qbrgdeT34n5WpDDrW6tv+PCz7vBUo6Kfp2lhHkh8Tm53ZLV+VJhNgyJXl7kGdAuoXcvV3AafPnsS4vPn9joylU9Lqo9jJ7po6yQbxUPNaA8N+gaaU3boSpLCaLUtKrOi4WfmiSM5cfWTIHdkXApgXif7K2eWxPTyEbNXHcGnJBs9Yv5qEg7jSJafOM4HJ8ZX1Dx++V3eaGR0mqbl+AXQ1lqj8Nrw8wjw4vv5NcIl15b9cmpVKAngdwNtXPk10ClgCSTPJYirVcME8YCDtIVyhF12c9PAYiLxXiFJ5jiRayi3iKUJ7wlVRWuw9FyTlDXjyTq35u5nHlAdU3+BFQJmZiPnYUjnDaJeVm2/nr3quhtAzi91a1D9K1xnodBmva6jQ1bEvNVBlf3ZvImszbj+Uztz/At1Pl11IqGGIv2xsXLJruByW/tMX1ekXdcfPw/a8ovGjX1/S+D3eY9ccQcxLURHszv5wkg0QM0YXd24qhwSpGZqqVYV15P94LHCVJTUInVzpm5FVP82VNp+ISu+x8bN3lAZUmGN/l+X5ty78Y826gpPNrQGAVYbb+ak3fZG6gJRPSmGJvWWlXgmYUSC+sjZg33Meij6GfX0l0qR6cmtKK8ADsbCRpEZqmM7g= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2017 08:33:55.6308 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2288 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: <netdev.vger.kernel.org> X-Mailing-List: netdev@vger.kernel.org |
diff --git a/net/ipv6/esp6_offload.c b/net/ipv6/esp6_offload.c index d950d43..f02f131 100644 --- a/net/ipv6/esp6_offload.c +++ b/net/ipv6/esp6_offload.c @@ -30,6 +30,25 @@ #include <net/ipv6.h> #include <linux/icmpv6.h> +static __u16 esp6_nexthdr_esp_offset(struct ipv6hdr *ipv6_hdr, int nhlen) +{ + int off = sizeof(struct ipv6hdr); + struct ipv6_opt_hdr *exthdr; + + if (likely(ipv6_hdr->nexthdr == NEXTHDR_ESP)) + return offsetof(struct ipv6hdr, nexthdr); + + while (off < nhlen) { + exthdr = (void *)ipv6_hdr + off; + if (exthdr->nexthdr == NEXTHDR_ESP) + return off; + + off += ipv6_optlen(exthdr); + } + + return 0; +} + static struct sk_buff **esp6_gro_receive(struct sk_buff **head, struct sk_buff *skb) { @@ -38,6 +57,7 @@ static struct sk_buff **esp6_gro_receive(struct sk_buff **head, struct xfrm_state *x; __be32 seq; __be32 spi; + int nhoff; int err; skb_pull(skb, offset); @@ -72,6 +92,11 @@ static struct sk_buff **esp6_gro_receive(struct sk_buff **head, xo->flags |= XFRM_GRO; + nhoff = esp6_nexthdr_esp_offset(ipv6_hdr(skb), offset); + if (!nhoff) + goto out; + + IP6CB(skb)->nhoff = nhoff; XFRM_TUNNEL_SKB_CB(skb)->tunnel.ip6 = NULL; XFRM_SPI_SKB_CB(skb)->family = AF_INET6; XFRM_SPI_SKB_CB(skb)->daddroff = offsetof(struct ipv6hdr, daddr);