From patchwork Fri May 5 12:34:33 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petri Savolainen X-Patchwork-Id: 98635 Delivered-To: patch@linaro.org Received: by 10.140.96.100 with SMTP id j91csp99445qge; Fri, 5 May 2017 05:36:24 -0700 (PDT) X-Received: by 10.36.70.204 with SMTP id j195mr7847002itb.22.1493987784025; Fri, 05 May 2017 05:36:24 -0700 (PDT) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id y6si714260iof.98.2017.05.05.05.36.23; Fri, 05 May 2017 05:36:24 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 8B193609BE; Fri, 5 May 2017 12:36:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id E3B0260939; Fri, 5 May 2017 12:35:50 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 6F8A760796; Fri, 5 May 2017 12:35:46 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10116.outbound.protection.outlook.com [40.107.1.116]) by lists.linaro.org (Postfix) with ESMTPS id CD8596098B for ; Fri, 5 May 2017 12:35:23 +0000 (UTC) Received: from AM4PR0701CA0029.eurprd07.prod.outlook.com (2603:10a6:200:42::39) by DB5PR07MB0903.eurprd07.prod.outlook.com (2a01:111:e400:5105::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1084.7; Fri, 5 May 2017 12:35:22 +0000 Received: from VE1EUR03FT059.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e09::207) by AM4PR0701CA0029.outlook.office365.com (2603:10a6:200:42::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1084.7 via Frontend Transport; Fri, 5 May 2017 12:35:21 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning linaro.org discourages use of 131.228.2.241 as permitted sender) Received: from mailrelay.int.nokia.com (131.228.2.241) by VE1EUR03FT059.mail.protection.outlook.com (10.152.19.60) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1047.9 via Frontend Transport; Fri, 5 May 2017 12:35:21 +0000 Received: from fihe3nok0735.emea.nsn-net.net (localhost [127.0.0.1]) by fihe3nok0735.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v45CYZ8o005643 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 5 May 2017 15:34:35 +0300 Received: from 10.144.19.15 ([10.144.104.219]) by fihe3nok0735.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v45CYZWu005640 (version=TLSv1/SSLv3 cipher=AES128-SHA256 bits=128 verify=NOT) for ; Fri, 5 May 2017 15:34:35 +0300 X-HPESVCS-Source-Ip: 10.144.104.219 From: Petri Savolainen To: Date: Fri, 5 May 2017 15:34:33 +0300 Message-ID: <20170505123435.11019-1-petri.savolainen@linaro.org> X-Mailer: git-send-email 2.11.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:131.228.2.241; IPV:CAL; CTRY:FI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(39840400002)(39850400002)(39450400003)(39410400002)(39860400002)(39400400002)(2980300002)(199003)(189002)(9170700003)(110136004)(77096006)(38730400002)(5660300001)(36756003)(81166006)(2351001)(8676002)(48376002)(47776003)(86362001)(50466002)(22756006)(5003940100001)(2906002)(6916009)(356003)(50986999)(305945005)(53936002)(105596002)(8936002)(50226002)(106466001)(189998001)(33646002)(1076002)(508600001)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:DB5PR07MB0903; H:mailrelay.int.nokia.com; FPR:; SPF:SoftFail; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; VE1EUR03FT059; 1:1a+T+6iLgUK6rrAyoZPR2LZLG+CQPM6z4pTmbcWdGXW3nZKYVvVaF/c00tZn+Lp9nKhrgoDC1bgAHA4Rxkrvz34bI64Wg1nQuteLS82TeyI5fBiEZuEYrdArtQojVRbB9miDzicqpWPhaB2XrZVA23yDMlxJY8E46x+srO4Deat/ld1RkeVEMxauQdGLgko8nTiIdadkYcNJ3bGJOQv1wUbC2ywxaFeKNz37VjGBqiAxKjnzIc/rcu70i9m6ONqVXyb1NwJW+tRn6wp+w4DVmbn4HzqzLgAhZMoObpdpUXQjbWK/Em2qPaeCb2cP/DTMQH/j2lC7mtld6seGw6Mo7s1NWZDMTSvJYdK7OYsc2eOCgqAUB6fyZTf6Ms1Fx0rZGJ0BFInrF4J3Q8a+rdVIpegz1jXntzkd0JidSaGG5c8TahgYGMz4nhItzCLfojHlqAZ0wJLzBiv2iL7IhMSLinBRHyVvrRjbVnYXmASLjZA8ptZR4mfHR5mvX8Z307mUTbE7z71gJsgMRp4n6tqnMA== MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7ad99d54-adba-4960-cc88-08d493b33205 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081); SRVR:DB5PR07MB0903; X-Microsoft-Exchange-Diagnostics: 1; DB5PR07MB0903; 3:RqqM7gJihtpTly6xC8NapFQKYc2CSvqGpU7J8zNEum8xlKXefI+U7o0oY53BioKerDu8U6WEgy8idSz/0IhZnzPDbn9Gur8fj6lyElSwcmcLJPj665CoGIaAFqh+pA6BM2L1daFkUOExb6ql2YzhT6B86Xrw4GoKoDMpSMhvR/AnbNj9x/siBBhNxUx0WqRVKsQ6wJtnXgxbOuXJ8yX5eDyGI4Y6//XbjiZEiW1jboalB8aTt4td0gxuZJ7XWjIyFRXUwNzQTPnuCk7ebj5VdE4cN7U5bcMEozdxkUtZt8q+LZq+jsZk8MEti7WKj05B1it16Q+dj1R1oJ+COAvHI5AcfUz7eEf53m7fBDPRgcO57sU9/0qHdcn4DEh2pTvw1hhnb6YNYylc9ngA5IF+vUMD8v1pEklInnHRanpMjE51+o10sC7jRRFOdNbW/JuItM8yqS73X/Cc53nKPyww0Q== X-Microsoft-Exchange-Diagnostics: 1; DB5PR07MB0903; 25:/JA2zmGGCzfvevJoYU/nWZX0Yf9kVKLxVnVMnBnbnn8Qrw27GX6AwB/F/+XJood8yjmEWNuJTwi7xyEwjenXimKTZGtFEJZNCMLuF/ge52MOrPYM5j6i/F4StjF/AWzjhmoBPtSSwtNxfjDzmSmy1iFhx43bHmnFdCfC3xiuG6fbrZcPGI2PQKc/LNoqkVnqvVIvwT2ya7ABCvVJ1OeYm3HRZ8xplOeEEnJ+3Qk9aInWhnI2Y5yGXGwsnP98IZwkRebTqtyBs/djSYN9ZpKdWDluAjE0GnPIfV5peaeL0BJhXQd1+Em8oZjlDBS8W8QAMXgeSaoXgUn2//uxurBo/D7y1pMbwM638e5QKKuTCaB7JRWDyiznnchSk6ncbqSv4xGjth2B9gyZep99At0X11mqcdreCY15GJctT9VeMquIOxeFMN2c4DP+p8F8l5ji6k/UUxnV2DjnIHAkO4xzxMCFKeIqhgB0vPkmuzA2ehQ=; 31:03deuikn6HcMQ+CfyOha9crh3Wgnunn4UdkhDoRrlKIJdemhgFly1oTM3aDnP8hgGrVXhSOxYLu45IErUDS3f0qayePyn0iQAFCujNN0yvXAdfWj1Jz7HmUIKOMcAukb3IiSmxQzmu2KqJS5tpusajoutFLI1pOsU1DG6jJDwseiv1ppUz5UBTVpw/RnZiGgB9/JirxC/foCavq7PVEQtaz5qur4ZTF3Y4CPWyYQey2WxJkV1zvg70fv31B21ePrN910Ww5YGpy589j5//Cqaq3WT5mRLFC9zjK5dehzzN4= X-Microsoft-Exchange-Diagnostics: 1; DB5PR07MB0903; 20:wdV5kGy+f7xvnCx2/MaLFIAWjtUexqWf6pI57Btd4WHD4DPFp6pyoj4q2KZUdAbm0wryKt7B2GKd61LJmuRe6jO+CuJaOV7KdI3q3OKd7FpSYHs4QRKwtHv9C/obfWuKAJ3WHxGRtCrIF8wj3BCNSn+74mvYGGTH9AGZpEIpfI0kCQ49umGawqu9H5rJSjmY8WgtuED8U2bOzQiw3xw9haDq8ObWqN7mfdY3K7mpCYafF7iCy9bmY2PIUIQFIxJULg9peAwXiAbnXsTLQa0B6g79nTd968r74JwT+WtknJ9RiKQ6WBn7RmNlFXM0sr9UiB+Jm6x7WRXyvUp3/5ZQgE2VO+IiqsRoiDoVmwmUU9QFR5bKfHJV3H8mlYDJbiRHOs/6Zz3LHqJxHF1xzp6/G+eEBEzLYKUUZhcriYlwoHrvMy1yc1g3dk1E0Zlz1S5yW7o6nyRTHqTRc6FA2ktX/zGhtZscuj1l7KFb+wzEvVQh+UdUijpdZBa9elR6dFmNv4Rw5yqHzbw9LwoP2a5OpsR38BCnxwHCiJmsodKZuMQ2IV8Hnz1nJB0F+FlEHafjdXmmrxlQ2C66XyYViLd9tLtT08e5rfVlWPiHtibg9lg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(13023025)(13021025)(13013025)(93006095)(93003095)(10201501046)(3002001)(6055026)(6041248)(201703131423075)(201703011903075)(201702281528075)(201703061421075)(20161123555025)(20161123558100)(20161123560025)(20161123562025)(20161123564025)(6072148); SRVR:DB5PR07MB0903; BCL:0; PCL:0; RULEID:; SRVR:DB5PR07MB0903; X-Microsoft-Exchange-Diagnostics: 1; DB5PR07MB0903; 4:QOLX3igskVN4R73d5g/twuSxwvKC0xcYMoeBstwJP5ECuIOqMniRHF4T3ZryBxtam9dGta1t0SUWjmmhab53++pKjDNBsQp1m7SHYRMST7BlLZsmH74KZRj1XZppLiJwtQ6G/UvV4Sb8pe5LPb6Nb+vIoysHqT/BsIj3h1GfV362bZFfdJ6Owy4cbI3NKgUczvXLwXUuc05Jn8HgfCbRc/vkq6RBDV0OJ3Iy5necilb3R6jfpK8wsIdA6/LvHkoLK4YEH/cYrsDpuC7zMkwCA3nV2y856gWUj5sSIEoikbeSyyqF5FeQhpHy/drVwBGfQovBcH8GE7nQ+lN49ezIE7uUMZbmVlOOLuZb6dUj5He0V0UKiac/oFgiikNXTOJgnBt37X34z1J41o7ZXr6Nm1OB635E2zeTFUjK11ujW7lbKkkxNBVfq/UNrjtRSJjFCRVdiC+NKMZTl03WO9kQUcLQAvyOdSCzoiPhi7dm8eZIo/sX9xUz7ONvhVCxJX8t8Yz0caxLPfQjlYfY7H8TT6eogT81Ll2h7Zadp7+aQ/Th/bBrPPXWd4G6UYWJ/x+fBKgahdziqQFrodxIyilV43C5IkZP0F0U65fnCKYsp+G2Itg9dR8OnUqno80KiXcV1wZE13HqCxSjtcoxpZDCacFKKOJ3XxHD6ipleT9wbI+UxHuS+zNxXVEoeNWdpSdGC+47E2T9Y1Vbad7th9JNOK5Lx8ivpuAsoAlnqyyymHNuY79QpAn5mjFFU+jYHcNVBNMTOG94RVO23uCbslQGrYw5pFxsD+fpyY6857XspXNYDkFfYSs1Lr5Bd5RXcj34EsW7cAfLFIWj3V9NqkiE1mL4eZgDczrFsukP2eKRem0= X-Forefront-PRVS: 02981BE340 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB5PR07MB0903; 23:fckGNJ3aYaIr1E80p64QMtm5I4ljviK253aafV5/W?= J8onwAyAQ4WpQXIYJnXH2dbppj3PseBN7c5QUahUIH+IxK8hYIA8Bsh5IbhjWRp+2/rCMok/Ipfevu9uRPBLfBJM+gwfuI5SfCBAPHAG1BbtqCkuT6izTzXkJKwYd3gL6+xBVB5+MdX1HltrKLRprSOnvCvBtKrijxpsujMNrjrLOsem5fhPI+C6hQMIW7JmqQ0KTn/B66AKjXBREaZWkunxtxgykfunsy1DgqZUCDXGOwp4paQ4FuutbuTlzZ9/ZAo2td/mrl5nAwWViJr7Po6+D+bNc09649vzkPc6AsM+tADVNEI/K2RkVKiTLUe4JZjmV8wNzgsbM4Vc0WXVhz7Fp3sBGCm36uWOZwkLrgt+DVqxJ7CJHadOxUM6uJPvxiDH7j7QLJLLwQt+U4jujVP7nkxf7X4k97ClSBs7IM5jzL2bUwTmN+edbY/IQCYjH6+H/31l4upKixyZiqS2GyQjZIJAl8FBVkmVpLfmySoQDAdF97c3KTUs/0IngamyXtId5jTddcPFsE+gxTgGEbKoMC9Qah2pcZ4Tr6T+0clZnmJQpBrX7KxrdL7T3dQTUIqAe+ITmbTGD98rvyQE7KRbn5EQ0piqaF1u18LGA5uFvMsNMSy+jn6Swjy4790iKLDoGQQY0kLHkQ7PFJZ1yB1e15HaEzxfm2Xfp5ef5MfCU/OXj4RD/f+GjoN3+a0SWiNROXIXgBZQxyQBNJFA4bgSk3Quct4fjCnRQaA9qnO/683LGrfBjs47/1hL5gqWc8Mmw8UswTYJdkOEKje84Nky+j8UtwgQAOpTnItQZcSm9A7NXpeG/B4VBqkjH1pjvYKGlhtSb1otPJv3tKmzYTIXINH1g0m7ewPatdUxDGbZbHyGg+ZfPj4T2ZGBogwqiIBkQe2MVxR/DZ3zDx0OpB/hThFWXwdi7CMmqdv4TghJYQ1fFM6PEdtsWaCxkNYYQgtRh6eLwEee9VjfUoBYtx2/AIV8DVwIDwL8tgFomvXzQ== X-Microsoft-Exchange-Diagnostics: 1; DB5PR07MB0903; 6:Cjd8w5m2HapdwlCI9htpNACCrfraUZNqCkgidNtlfZetnEbPj2qphVxQpPcyMZZ9s1Tgz/1eLY4fMFDcYg3Bg2vk8saNH2/TVgI5JvtTlOJ4VahUeGL9Y/RVOgvz9eadYbj20RYtK50R2z4emTSW7u8nBeEjvKtFPA5ugo4866d2IdgV+pZX+SPBnXHLRBC3zhcq7pK2DJptr5dnypfPcQpYhnN1CdYzuLZJOu2pm5oYWj9kYso3kUy3yhZdflX2AsOG92qnoLYNqaIf+vKMOnBZXToafeWEKaoPa1MoNyE79IKVeyvAAHHGdXFkTsNA0JhRjWqDrAjvVoNK7vaiDfBeQoaFwVgsil67XgTWMukM9L2QuodbOUOd3kE866hERUEn46V8UX0BbDQjvQ2C+mlgoms9YE1gZPjNph+im5oep44VAaXd8pbLXBAnn4GMAPeAAd1o0IcXNFhBrOWidxcs3x7zBm1gWXLK+Sjw9l1wuAvwAx5XyKrwaVwx1/yQj79rsW0ACTjcCGRt6yvJ+6lR/fXzFp7WsYyjmREe8BQ=; 5:FUqZa7WhFDLNtE4Ip6Gvq9M3m/r2SeMimPQTz1UsvT/FNcVc8Lag1EGbCP94z1zfhSazfGyrSKFpIJapc+JXrndfhPtLMDAlwqQ+X3KnEbR4W2bWQvMMqHF6vIKwcNN0Ufl4DGCBCbsm9YKM4lgWpQ==; 24:eswzjWxHTysw27ve/CQ2mS+Odl9AWXvbGT5DSBlIuD0Fa8IrMK3q/jncnhQYXyW1lyRSyK0p5UbGFac30Whu4RyTa2BsS29zSUwL+I2SYV0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB5PR07MB0903; 7:ghLf3f/AP2NCfvC/h4Md58Y9iBQpyIw7/rKBYcXxDT9kO5s4glFG8xnmb3cpkr/t+6rL32wXclsqzub9OiQxNzgRDdjO7XeyDBjaZzIBLmuEdDcgiYyJPb8Y+JtwKS5mRbqI+Ol+TR47681ZATUgKZdOtVn+XYzbUO51lQBNhgWqfm4q1sofid0sJX14DH2O6WfXU5mE/xuKGS8krh5tk7hgCMF5XyDib3GH4SILMcHdmlAAVpmJ+ql4COqFlhsgzIrn12RS2fhz8P5arpSWDl9ugO2rgV5p1QzO7VfxFFsqwsOwiSDWGsSiXwOAfc1O1b8ff6i1EFZurS2KUJRxtw== X-OriginatorOrg: nokia.onmicrosoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2017 12:35:21.1877 (UTC) X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0; Ip=[131.228.2.241]; Helo=[mailrelay.int.nokia.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR07MB0903 Subject: [lng-odp] [API-NEXT PATCH 1/3] api: ipsec: refine packet order specification X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" State more explicitly that async ipsec operations maintain packet order the same way as odp_queue_enq_multi(). Signed-off-by: Petri Savolainen --- include/odp/api/spec/ipsec.h | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) -- 2.11.0 Reviewed-by: Bill Fischofer diff --git a/include/odp/api/spec/ipsec.h b/include/odp/api/spec/ipsec.h index e83494d3..bec9c561 100644 --- a/include/odp/api/spec/ipsec.h +++ b/include/odp/api/spec/ipsec.h @@ -1192,13 +1192,19 @@ int odp_ipsec_out(const odp_ipsec_op_param_t *input, * results through one or more ODP_EVENT_IPSEC_RESULT events with the following * ordering considerations. * - * Asynchronous mode maintains (operation input) packet order per SA when - * application calls the operation within an ordered or atomic scheduler context - * of the same queue. Packet order is also maintained when application - * otherwise guarantees (e.g. using locks) that the operation is not called - * simultaneously from multiple threads for the same SA(s). Resulting - * events for the same SA are enqueued in order, and packet handles (for the - * same SA) are stored in order within an event. + * Asynchronous mode maintains packet order per SA when application calls the + * operation within an ordered or atomic scheduler context of the same queue. + * Resulting events for the same SA are enqueued in order and packet handles + * (for the same SA) are stored in order within an event. Packet order per SA at + * a destination queue is the same as if application would have enqueued packets + * there with odp_queue_enq_multi(). + * + * Packet order is also maintained when application otherwise guarantees + * (e.g. using locks) that the operation is not called simultaneously from + * multiple threads for the same SA(s). + * + * Logically, packet processing (e.g. sequence number check) happens in the + * output order as defined above. * * The function may be used also in inline processing mode, e.g. for IPSEC * packets for which inline processing is not possible. Packets for the same SA @@ -1222,13 +1228,19 @@ int odp_ipsec_in_enq(const odp_ipsec_op_param_t *input); * results through one or more ODP_EVENT_IPSEC_RESULT events with the following * ordering considerations. * - * Asynchronous mode maintains (operation input) packet order per SA when - * application calls the operation within an ordered or atomic scheduler context - * of the same queue. Packet order is also maintained when application - * otherwise guarantees (e.g. using locks) that the operation is not called - * simultaneously from multiple threads for the same SA(s). Resulting - * events for the same SA are enqueued in order, and packet handles (for the - * same SA) are stored in order within an event. + * Asynchronous mode maintains packet order per SA when application calls the + * operation within an ordered or atomic scheduler context of the same queue. + * Resulting events for the same SA are enqueued in order and packet handles + * (for the same SA) are stored in order within an event. Packet order per SA at + * a destination queue is the same as if application would have enqueued packets + * there with odp_queue_enq_multi(). + * + * Packet order is also maintained when application otherwise guarantees + * (e.g. using locks) that the operation is not called simultaneously from + * multiple threads for the same SA(s). + * + * Logically, packet processing (e.g. sequence number assignment) happens in the + * output order as defined above. * * The function may be used also in inline processing mode, e.g. for IPSEC * packets for which inline processing is not possible.