From patchwork Wed Jul 12 13:54:35 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petri Savolainen X-Patchwork-Id: 107516 Delivered-To: patch@linaro.org Received: by 10.140.101.44 with SMTP id t41csp848749qge; Wed, 12 Jul 2017 07:00:34 -0700 (PDT) X-Received: by 10.237.32.41 with SMTP id 38mr6860404qta.68.1499868034162; Wed, 12 Jul 2017 07:00:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1499868034; cv=none; d=google.com; s=arc-20160816; b=Nf2QRFrXHcX0giAu2JLTk/9838eianaxx+pA4Nzte7o+keykFFngJJ7mO1m7Qvfnpg GRKIlKViJj8hqRXHHNKGfN7drY0q9Ecy1/jzqeHnT/JpDKCDxPKyFRZxeoPgMmXF9wdH oY34SoJxNCY2Dw7L9cOcAPnAsatzM72caM9edUQa/JnqROxDbPsUvdPKs2eixgQcS1iU iV2PE4IA6/d0kaPWyGPn7fkZw3ReKkGMD9geSaCbmhWKSEKxnV+M9t6ExGzev1FZS2ki KI/NmnnrRExRgzmArCwE3ftKbqzySvn/+dtI+gdvZDW3dYIfIbG8vwAtOgqTnOVRsOZh d6kQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:spamdiagnosticmetadata :spamdiagnosticoutput:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to:arc-authentication-results; bh=ViUqDKLAzCNOeJfTsSBG9WnzboxMBT+iCxo2Vw/XVDs=; b=TL9nAQW2KpwgQ3pCvBWzWgHi7Tx0Mk5gi02GbSkN6Xwyp+9azgaW5CMv83xcXB4BY/ XgNJSpF62P1SchUGMm3wiBCAYqsG/mYbqYq1lBAixvZF3TSxkJTRfn7QOkzkfCtV8yQ9 d8rMjTgNqCxOTBjZb5eK/H3PVqabKZYZH67UVtTnLE9IZRgmXI2tsaJOxuh+2CT8VJ8S iZ0dAL3trBEMe2KUAi1+SDBUHJIOFnUGzUPwkIAyZ5UfElN/mQcDaU8POUAv4593BJDF hsKvLvt/Xp3HGbHqDZKBtI89fx0/qfQV9CfhusGTDqv5dgRUS8XPOB+BbYyz2Et1gZnw xwNA== ARC-Authentication-Results: i=1; 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 Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id i56si2369834qte.187.2017.07.12.07.00.33; Wed, 12 Jul 2017 07:00:34 -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 BA4B060639; Wed, 12 Jul 2017 14:00:33 +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, URIBL_BLOCKED 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 E5EEF644C0; Wed, 12 Jul 2017 13:57:21 +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 7718260656; Wed, 12 Jul 2017 13:57:09 +0000 (UTC) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0094.outbound.protection.outlook.com [104.47.2.94]) by lists.linaro.org (Postfix) with ESMTPS id 7876F644C0 for ; Wed, 12 Jul 2017 13:55:14 +0000 (UTC) Received: from AM3PR07CA0113.eurprd07.prod.outlook.com (2603:10a6:207:7::23) by HE1PR0701MB2201.eurprd07.prod.outlook.com (2603:10a6:3:2b::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1282.4; Wed, 12 Jul 2017 13:55:12 +0000 Received: from DB5EUR03FT025.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::205) by AM3PR07CA0113.outlook.office365.com (2603:10a6:207:7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.4 via Frontend Transport; Wed, 12 Jul 2017 13:55:12 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning linaro.org discourages use of 131.228.2.240 as permitted sender) Received: from mailrelay.int.nokia.com (131.228.2.240) by DB5EUR03FT025.mail.protection.outlook.com (10.152.20.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1240.9 via Frontend Transport; Wed, 12 Jul 2017 13:55:12 +0000 Received: from fihe3nok0734.emea.nsn-net.net (localhost [127.0.0.1]) by fihe3nok0734.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v6CDsdpD021211 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 12 Jul 2017 16:54:39 +0300 Received: from 10.144.19.15 ([10.144.104.219]) by fihe3nok0734.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v6CDsc8p021179 (version=TLSv1/SSLv3 cipher=AES128-SHA256 bits=128 verify=NOT) for ; Wed, 12 Jul 2017 16:54:39 +0300 X-HPESVCS-Source-Ip: 10.144.104.219 From: Petri Savolainen To: Date: Wed, 12 Jul 2017 16:54:35 +0300 Message-ID: <20170712135438.22191-6-petri.savolainen@linaro.org> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170712135438.22191-1-petri.savolainen@linaro.org> References: <20170712135438.22191-1-petri.savolainen@linaro.org> X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:131.228.2.240; IPV:CAL; SCL:-1; CTRY:FI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(39860400002)(39400400002)(39450400003)(39410400002)(39850400002)(39840400002)(2980300002)(199003)(189002)(9170700003)(2906002)(8676002)(50226002)(305945005)(81166006)(22756006)(8936002)(6916009)(2950100002)(6666003)(1076002)(356003)(498600001)(5003940100001)(5660300001)(47776003)(33646002)(86362001)(626005)(50986999)(189998001)(76176999)(53936002)(77096006)(110136004)(106466001)(48376002)(50466002)(36756003)(38730400002)(105596002)(2351001)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:HE1PR0701MB2201; H:mailrelay.int.nokia.com; FPR:; SPF:SoftFail; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; DB5EUR03FT025; 1:7kwvXndFTHAWU+XauY1qo5ScIep7dpC+hq4xA3Rg9FeeDW68YG0v6jKzlRolry+AxJzAq+zF+FEPBGg2CFefXCYk0QOQ6ULT5b/kDVSVUmy+Ncsnm42STGuu9w0VpNEJ12jYgGlV9JQtov0nuI3jstwx34cmwGJRYYNHOVCd6Q/o7X00x1zYLCuPEBIhUDQBzdcRMHi8IQehOxWcbbDbfLdJQo1iLyQxRNqhH2bLCOch1okUKFEdFvo2J+uxBXAPAaOD9LsAE+THbxWnH8VXG5wOjqz5rQuVX0XyrTPqM5b+wdbe6IWGnn4fMd2Pa1c4Zd8gMbGkJrXGcRypxw58hXmzGterSTvlJMVCnTydePy/B5DZwGH0aSvwcwsr0OKZioBncZdhMowljBTE3Hx9JHNvfc8ynfkFNKBYOQpscC+qInUoHmT/IAexDR5Z/15jieduBZJI8Nus5GqYLha5B+59I1It7gdPU6HNu3ydiH69TwxsHm95f0365lATFUo7Rt8ynHNcnbNzUHhc4F4u2MN2x4UmPF6zAvSSkoS2rWw2eUPNqvbFBHtolaO1W9u8z7V7DXDchJOjzik6MkNJWAzZ99Jc9R/69nrj3w77MKUlSaj34oHYQMnfRV7y1ZSy7juzh/Zy1+9NZlRK1WIr395sHwDr4LY3naq972jjeBC+hg276X0io+q53KRez6pCxfjIK5DLXxLSKuR/82HT9+jxdBcF7VWcYkdqT48JQ42CGXj6XOyB2d2jpfBE/SrScSbr0ycgxK54/ew4uitZiy6uB3Pr82GxE5mN6AQla2pZ/03dXd0DV2eYJna/FwfsKnIZDm36J5qQkWiYV6RppNj5gKv2S+ea4WRZFoPsncE= MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2a064672-ce9b-4875-1b1a-08d4c92d9de1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254075)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:HE1PR0701MB2201; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2201; 3:XwHPWjyzFmwN9NcOqMEkwoQMSqiXH9OfPEqmvx8kuVaQWKabI/NcVH5dMNrq0GVlqjrleWkWMigIw20lpUEYecVBSbg1kzwnPr2FMv0SZSdNsC5Dah3MVBNn+0KsKrFeQL4DkU9c1jeurUNpX7/qG9Rc8tzcNf7xvm0iA/Ezw1T0CsxssuvAzwr8CwTcqE6U7XKoZ1Drqd+RSZYBNaTSoFSWE71kO1MxZMfiqcrA/NgNLQufhg6DEKqI5SWsCg0EN+nrNn4nn57sIDFbQx5lRv6bHReIKg7qjGQcleBuee3EFIdOlnsXbkOe05mwbaaoKKiTByDoM1z80yPzMuLfJg2MjAIQIug5oaJG9W7Umpba7gD9A+QejxvbCrt5937E7tYm8u0481cannFCl9WwQYrzV0TO/f7RS9V+Yx50+0ovtGkDF9B5h4vgAolta3gCfenLNohuxVCEWOejSPz8TW5ryFjigR43MLYQgDMzQBbvzIjvkHhAOHvfsIlPftcEJwxmNU8VOWfE+K6CbAplKRHgNcoMSjmE6TuYWOuwopwuFeSYg+DYsD2Tu4Oo6FADh9UnUe7iGrVVnRynLNgxAIt/fa+2WbVCSHBa/uapWphUnvlBuW8hRRRqUq13mEMsya6E7fuDzQ8LfM9Tp2z4g7NBq6crfhXo7qB8bgKG4alK1pyX/mW577hjaNaei3zY0kzULIuYLHvnMuLPOiAPgFJI0Cvlz+i2NBetPtqCWc8ggfvUmskRTpeTfaiKWDcANZe82S0RKcI4lGk6VF0PNWsplQd6XjpacV9ob84WEloUSnBJc9/ymZ3eCCRZtTcWJ2LGpFrGHjtp36Hk32C612/lTJbtt8SQqzcYbFyx/3lAKui1KkZsR2ng0zKWGuZtVrrRqx/D4oYDOMi43hByew== X-MS-TrafficTypeDiagnostic: HE1PR0701MB2201: X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2201; 25:A6JXpxCuMzfhZWyfhLkevyiLBHq1qHq2h77fqJkpaSnzk9EMrbEhgVupYWobjvIVBOR0CGfTqTE2yhRee+CGTF5lBuWrXFQLp19KxRLpdzEiAWokKT8BqcdO+kb99VLQnvDL6L5BlJk5RDaWam0MUUsraPzmzVQ9O0ZeQ0NgDzCEAavvPl9DlVFm17A1IRUXsYkJXFgedyRFSISm3B+TSyV0E7/GzEMi6l67ZE7HdEzcrXPEWhailqcpzXr6+Qf0bEMg9oGB6KoeIYKpIa1ja/Kg2USg16E56PlFdAep+J/NMXERXTWKAtbt2csksr9mCWpOMIoU3EVEESO3R8ZZHMYfGKzjVn5Hib31DoNWYEhJKMjM7zRTRPyfNuYSmV2xnf/o6Fxi1vZOOVqOa+XHvAqq/9LRU11kuF26GjtwoEJNNJRFK4bNsSGqxB09G+5Ivz16Mkx1GKnJKCpvyV9IOJKL+BMwEOeyu5LuNKvC5MD2onzUv4UvVS5F3noBYgi1TDpb56bP6mtpgpy9W4gJ1A+GwJyxV2UuaO8RwDIamNkFgoLDXKEXdfm75TZFoPy5h2TP7mHsXiZo5ZxPFW/nizlQd77QnVRLYaCS2zzdP+7XfNWPGfrGdZwaRx9vpYM5AWOZukOP8Og673RKQZAw4N2hpXL+414mSMYzF8Mjm8X+XvhRKR4+ttUrmpIIc2FwZ9AN5r1k8ba+4wMtJ2f/qY6xcwiYe7NYEi22J8galBBi9mFxJmj9dfJw/gZPlGx5zlI0ZtPWedCno5VJfsIz5KpwEnsnLu3EkIEiCMB/qL9tKFHF0Un+aULOlpSxfhXUGgXaf1KKxNsb+G58xY5y2wQh9rl8t6Dgb1Ulq/cIm2rQWDIHNnPQlK3Qy66au7uA/pdir2EitNbpZ1IU/xvN80v18c9/fyktsaGYokkAaB8= X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2201; 31:6cjLuxpNwFqAq3iDaZ4bNLjcYEkzWp7FXCwboinVykFwAcqcmGaFvwKQ1znrWx5xnyms60T4bUMrzR75rlKswljiTQxJfYjiquG+DgGdx4cvXAOuUsBa5YK+fcJE56aDaiX/rF/ZWyYZaWbWVGH0hM7Uc3qTtJh6wfOgFm+wlLsyUGTun9sxGclqEk3WXn73hwsekkvfQS/5fQ/+F9GCgRPZ2MbU5FsglAv6qbJk8frEbbX8XazMxXrd7VDvIffK+l+lF44ak3BJ3lwk09gAw9xWmmYkdNFLjsupuabnhA3iIgeTObOEa2aMCCW+rK3ijYgP9vhim272aBGDpHMEvpsvTz6YiqiaPGMrKuYmB/Qdek4YVTJ61+tD9TA55lsgqCEckeyPz8pB/BVlHg9LeYxKEZzkc2fFWxmU1ggwUBJifW6zCfv08vSgB0iMWHg6k9ykMwv42GW4Ulg9YL4ULx3bfIZY7V9t26RhTBPC9zqnHlVfSBmCP3OpASJfnUSBv3vTRGwiLmwv4i0uUoXJ3jl2wF+tt0DuyveaGxv94eoD4XaEZq7xM6qUZ2IXmS7jyjcM5QwlITpVaR91xNLinnY3dUHvF/eUmS+x6Vs83GFKc/2PVwg6pp6hBF54rLU5ja0UCqyQGRkeKNzCr4qbxHd4BRB7erUZWV4aE5YuQCjZy8K8Dl9HNqyYHlj42te8 X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2201; 20:N26kwDlOv/1MIZKomNkpxbjMeL9dVlAGekTyZpNBd0ECBoNtnMqa4utuSG6YD9uvAEmKM8W41eBqTylHa2olnXnqjhUXlIVU/6Za9JfUJBNzav71b8u3I8Pxui3UeFxLk5BrNQk3fWmKCA4DGeaNYqewevvVUuqSdLxEoDr5deE/BfOajoHVLkt2JtOtFsaUGMoJ6WfSLVsj8NqUEhQP/e8rhsvaxqHrXxqG1qDI1lOk9hWWRoo03Oxc3jf0c1ykpTpgPPwSUuxVYw+sMkGkUOXyevu2Lrp/H11ZBd3GxmvC6R4haplmoq4UZ06bfPbsEMPp9V7L/byRUlkRSnzqkJCyY9IMcyUoTCYB0bhjRx/xbOA6kJqRwn0Hl+LgHnff9r8BQljsc2Pp/SxnljtFsWzcQJIqKEyr5U8hZ+9JV4aCeF7h2MkisKozoNumujXtvRzZ7a4A7abOLNs7ljtI5BeO23X4xdwTeENGsr552NboretmnVJkixo1hUQw8ohNoostBynTvprq4H7X4v3xTGnrUfec20t93IIqhRKZ857idnUUrEs9ssEAM5As9DDkOL5AR4cRuotqYiDl3We9N+d1ZP7WyHXOf84FIB/Xr5Y= X-Exchange-Antispam-Report-Test: UriScan:(236129657087228); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(13013025)(13021025)(2017060910075)(93006095)(93003095)(10201501046)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123560025)(20161123558100)(20161123564025)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061750153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:HE1PR0701MB2201; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:HE1PR0701MB2201; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0701MB2201; 4:7UYh+hxIIfOKBYtL4cPzA7xyyvdAgjKgsTiFtJFG?= A3P6kOrafU8ACOgxgLMdLmPwTMQOQMtddlQhcoN4DBI2dGdhay8ZvIyMxGEa0skTlchHqtx7AxoPdCk/sHxHop1HtE1YcLlFm+MrAYAUUL9pE2k3mfDlYuMfN1ly/1xoGO6yhXvEzmvy7cd69n+rWUARp4IpeKHk/HeW1tW/Dgzd0RK46ZYl8egRhNvw8ckuQbHXl63w3t4JTZA717vVmaZxgWXi52QNowbNRoQrQVw9PocHblDQ87UhQi+hh+ObwwpB6yxLT108qrSjY3X+k1n37QUelSNzO0OdKWKljzDCzVdYPwpByJgk3i2O53oMgmXbvr2WpwiTuXrkcc3Tdc7QtFJ6WukPgXQfgKgubxU2TM866Ifp4d5ShtepiCmoEzeXlnz39Hlv3S7yUt6BHKJj/DYbRDCUI46IOUTE+qbLydBn6uRsDBIbP4ryn/Pj6siRyPmtdEnVRuUDkxchJS2q/0c6GH7P0Ljk/izeSvBSCf2JG17gZrQVGCrPP915BuYmhXYFc0VWevAH2k8Ksy+usyY3AOIAnn6tvwNfrD1spUKzsKLZPrLUiWgf7t0tvf63DcPoDt4P3xBxGx3T3YAt3EQaJ0M2K4+d3xnZG3laUFArRKaJhXrqAdmiX4yiSXv4t2hn1O6C4geWBB1hZEs8gEBaNCHS3nFtMcIYjy0FLtVrHGExKGkla4OtgRmNXVt3onHck2dExRUKaMoZc6hcduv4LklODfz7q9f8TRQFQrpw7gvJp8ga1W51Km3yr1mOlBqnfo8dtM3SRfBHD5BwsK0twsbwWhGRYLVfyYUP+IEySs5MrMUfcPC9J5GHZq9kBFpOu6+Y40yTVsAaZuJ+Ph/S3TmkZWjRllqHUb6wvGcz29BiYfLy5IxKMoF45fGwb1DJBTQ1RAwRJrOyxJ9L2YCR7dsis/yJR8D1cfK2PDAzkyHdr9A77uwwSW8CjFywntVmd1nMLkGWm3YWrTGk6bFqPTPBne0yK+hEG6LwhGy5gSjwdrkuOYjheVr2aosoxZxzFLxXBIzx8SgelfHLxowhLZNsEW1lMvod3wyB6GulUHBBpWtAQtUSMgG/YhsunB9HwZTQCyW5jr5myOEzBLLJyVDPKBj0EQ5xx2FNFhDJB/uogU2gO412wpESYjS9VokPDKsw4fSNUyUHLs2RbWgFWW0kBOG83MZNhPv26BHs/67Io3AbcKyGRFrMcKPBwpSLAcxFQUEU9k1vjV0Y X-Forefront-PRVS: 036614DD9C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0701MB2201; 23:oAEEZVy4DspB+I3sSaKS6uaDr6tkF8zvEiG3sC5?= dJDouRUkbiMeEoN6Nyq98FnsHwWIhV/9wIsoiPwLD1tDVVejDgxw6Hl9kqwHAB2vE9OyVqYpb40nXT+gu+p5lCADJoqrtSbUUNwGeYOyvTTVseRubl8dYhHmwLBwpy6rI5EffEcgSDUSdbtExrrS+h+lNTplooJHwiR58xdYnSUkYFv6Q03TomgojbJiSocaQpsi6l+tYY1geqstJ5AubOFtPBa7aeQZQSRCx58uO+OrI4ycedmJcanlp2W9DRey3Uc3H6Y8oOK5LdcZiL0zc9wF13uA+2nccjzlZi1eoT8/Pyb/Nt7RCfFcpmrSJmMZKTqkPa2T2vFDR6FZDYHyTpO5neK9fN9yKs2DZXW8pns3TCX9pwrv5c+u+xl9k1l7H1wWgDxjIdC7Z1J67NizjYjABAol+4N8R6re5dUttCjZE8qx5mBPWZ3LrEXNWC3I61GOkXAB4BLWGgO9wMdHh5RjsDEJaWrgDbFWOorrRsFoSOagViQEhSvAd95aE2astaYJPIozAH0a0s/6sLr+iALNzuDCZsibc6be5x/ibMuIaCrTIJ2pj63DproQBg5xKywFHkWUc8I2FOSlj7InoSTuZCXNPlepbzytORF2pz01enePmGdI0ZHvM+bPhm2X0+kqldOgoSa4HBdxLv1la+2uPCGjGJuUH6xmK8HakRFU5C1SOLm37y8KP0iJa3scSPOWhONjLJR+64M9NZH05YvfGKUzHfgjl4OqJjUN+sn0qVgxILOiR16k/UkCfBdQqlPc641DKRa8+3/vVZ6cLhezma8MOPllaMm/lmo/51R36nHjGfh3Ps2PTY//00azSSTu44g4TPtIC/KVEOpTkCxpsrKnzDWrEYuugf2xJqHcC6MpcRY4pjcD1TTvKQOrRZ7t8JyioxBiFy4iWjomKLfPpGsx7E6gSF36U3hvLWRuyI56wutrUNuT5smlI0hteDssdCgP/5ePdf6ETTyRWg9Ic/Sp26jhW8hgMNAYyKhRZ3hmDiWfvIZViAastUc7W3SK5DIZIn0XCR0Z/TrBGCsUJw7JZBNm9KDBTyxKhUdDNjenLttFEAf7jVAyRoPsos0U= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0701MB2201; 6:xkbZ2n5LYwayqsP8t+hXqpZl7M3MTSXKYEAkxy1s?= 13/GIcXs7+zZVqhhue/rPrb3/DFqDO/xziFNxzYzt4JCfeUTLQoLKhAq9MGp8CzKoJvCNUHxw+xRZTyHd7jdUQpZU4QKAhAlOXAgWCo9ARzV8Pa5HNqF9Cw2L/39pHKgkmsaozmSwcHOq98BQv+C+uHx2Bdoxev/WLqLw+Fj4oBibYWA4BKGxg1AzcC3Zu8UF7nwnurDjFEyawUhc2pqmEpqbuc0CTUwMc04DQ3Q2wWawj409O6XWP48crY89Wq99t3KYg0XZ32OdhXsuG/e/X2vokOrUpsFFCxWplBy4N/1SA1r/Tx5LhoP6ppNXP28CbKOUdET6p2QHyRCSv2c0Io5nHpDUMjOT460X63X4xH82YdlNbUdtbvvZcSZrqiYMMtDvDHEheUJshma2A3DVHiWq4fAExEF5LXJMxinkrOFilIDRXh75X/yhwpPADU0OM+k9DuApeAIBOWUuziW6p8EiafUN1F3MwXSI+8U26qW7UId2YPX37XbMcEPF4q5bkHhykpAiVc6myw0vptnNjeZrEzJ09IQBlOpPT/aWRXtT8TD4ymZ/raX10lmeSwOohRrIu6hF4vF08hIyStg6mMaUZkodVZI+NxszyQgfmesaaS3wl9yxBjC1PHnb+bjdtGUVVHTAs5m1BlFj6EVE0/8cJuPYbr5kx9o/BMqPzHH40IxNc9nyBUY6gYEVXfiSTI2mvKZAmILo/LbNu1E0zW7KB2Xl9qcVzBC0+DbiRwnOOZ29Ah6fBXFkCFOzDw3P6K13e5+j4LCWrQR4JlSdLPUqBTDplqY4DFRXr5xYIfPf6fW5+9VLp4fjI+84E/OL7YH+f5oK2K6NxWXFoT+ml/HRIO+AKQoVc4LcbiMUhHhneNedYZA+s1/ktsGlOQPduUWxT8NlkZnDSBg7yU2Ri187V2d/NRTbTuBaW84XdcplyM4jFjYPRBz4VsnVMq9Gr6SMocIY6pe+RFSRs60+gFo X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2201; 5:kmgdapFCXyeGjAP5WrNNkEJJbbK01d7QhsNA66dpQKsROmNhTTwpW3B7wNB1LNMl5VzWg6ErM0AwTRmC9KTcMuJzYP5XSHoLoYLcVxCdG6q70ByY9nJJF5payRw4DlgxAIjJ88qnXQt1/OK0sMhWr24catzYOUoXtxXGFLWVwNoL6IQXPONv3uWBK/6q+7nkikAm4n2PVIGyXQw+95IaFwXLv2/XbsYwCOddywBqREtZ/e8DR9aCHIq9pfE5ukFlTcqkvwcXFNzEbGUPkdQZZ52VGIrsL9bgFuwxT707uHcV038Jv8WjbiQwBs5lkVM3KTQ59UdFAlrBwFg6h8vd+UMtBQwugZ23ycAH2wkZphYM/5VJM8a+VakNJ3WBVNQKEU2KGsj3Gc2UV6922icsQtF5W6L6hzVUGIIiCY7e4jv6H+X9Wo8pCqITLpka4hhXZzurg6Xcet44VUy+XDS+jRZRjlYXBoSZ0f+pJlYyljc3zIQwvwQU2F1ArkNEb9vX; 24:WMANxhqJaLJhs/JVUUb6ZDh2EAHK2xO96NJ1sfmltiUqJlSVJmZJaJT+zN4E/+J4pMkhXV5VMjtlA5aZkGoQrJVqxnIMPNAyl8K/TeqTeAU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2201; 7:TL8hzOtZiabVAYdT/QPChvGMMvKQSjaBC4Te/EHdEQnt4M40/JV9rwuGuUjV9TO6a4ZB/CWd9Jj2uC1t+DAW3SPj8mR65kxEwIXE5fRmAJmK6edkrdzpYMWe+SWpYni+gHOnLaAVCNsQadrQNWb+sDBFJIWxM0IR7qe8vc+7f8Q/3lK5hNnZ7N1rGx8RoYRL1e+7HqNXMbMsDjwzpx2CSeiooB1GpkVDgTzd8iwGLGlURG+rU0PSAB4Q8ZFnVZx02KVaCZR0Ydwb0jRwFJ2oupRqs/3WtOTEKz7127/ssAbwHhIIRUy0/i2ND2ZggwOl1yPKE62sJ6ivNN/NYP48OvTuknND3tStvuXkKcJhlSbsj5EX3nWbhUB+tUt8vvECLXLcuEaTsBJo/J9ylvsKN9wd6OLdC/zM4z2h1VldFBkjJnOR8trEmLqjWjDEpYadRtf7HnrIoW6gQyqZyYtV9DLTc3EqY2Ggoh42oR/Y3e55A9F8AAAza1N/bPq5wZYnZKCVLEFxEM4MG7jBB1ZKtsgFitIuMGHRkjJS8nkhPmTTG++MttWKM3r4vHCtpyfjs5NmtQpY25q8XAHfJxoxYYyRn0J3bhV/+6O+4A0Vz8+JAWSKgYHMoDiUej8iB2Q3VW4j24QBDoCL324fIQae4DW0t4veDAU68YYN2WSRY33OBuB6k7YPUFmzwnU0l9Npus8Kxe9q7Xh1VNxvhfw0TuNYYPsGx4jiD1134+vPQBSc+sgHj6VZF9HGmMDUjbyHtlkZBbg3W0bwk3GBTqT8exh0WuU56G5gM5LJWoq1mvI= X-OriginatorOrg: nokia.onmicrosoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2017 13:55:12.3538 (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.240]; Helo=[mailrelay.int.nokia.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB2201 Subject: [lng-odp] [API-NEXT PATCH v3 6/9] api: ipsec: split operation result status bits 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" Split error bits into error and warning bits. Move flags into separate type and field. This way, all exceptions (rare but important events) can be checked and maintained separately from operation flags, which may be set for almost every packet. Signed-off-by: Petri Savolainen --- include/odp/api/spec/ipsec.h | 94 ++++++++++++++++++++++++++++++++------------ 1 file changed, 68 insertions(+), 26 deletions(-) -- 2.13.0 diff --git a/include/odp/api/spec/ipsec.h b/include/odp/api/spec/ipsec.h index 794a9c21..3428d3d9 100644 --- a/include/odp/api/spec/ipsec.h +++ b/include/odp/api/spec/ipsec.h @@ -549,8 +549,8 @@ typedef enum odp_ipsec_frag_mode_t { * Lookup mode controls how an SA participates in SA lookup offload. * Inbound operations perform SA lookup if application does not provide a SA as * a parameter. In inline mode, a lookup miss directs the packet back to normal - * packet input interface processing. SA lookup failure status (error.sa_lookup) - * is reported through odp_ipsec_packet_result_t. + * packet input interface processing. SA lookup failure status + * (status.error.sa_lookup) is reported through odp_ipsec_packet_result_t. */ typedef enum odp_ipsec_lookup_mode_t { /** Inbound SA lookup is disabled for the SA. */ @@ -869,11 +869,11 @@ uint64_t odp_ipsec_sa_to_u64(odp_ipsec_sa_t sa); /** IPSEC operation status has no errors */ #define ODP_IPSEC_OK 0 -/** IPSEC operation status */ -typedef struct odp_ipsec_op_status_t { - /** Variant mappings for op status */ +/** IPSEC errors */ +typedef struct odp_ipsec_error_t { + /** IPSEC errors */ union { - /** Error flags */ + /** Error bits */ struct { /** Protocol error. Not a valid ESP or AH packet, * packet data length error, etc. */ @@ -894,44 +894,81 @@ typedef struct odp_ipsec_op_status_t { /** Packet does not fit into the given MTU size */ uint32_t mtu : 1; - /** Soft lifetime expired: bytes */ - uint32_t soft_exp_bytes : 1; - - /** Soft lifetime expired: packets */ - uint32_t soft_exp_packets : 1; - /** Hard lifetime expired: bytes */ uint32_t hard_exp_bytes : 1; /** Hard lifetime expired: packets */ uint32_t hard_exp_packets : 1; - - } error; + }; /** All error bits * - * This field can be used to set, clear or compare multiple - * flags. For example, 'status.all_error != ODP_IPSEC_OK' - * checks if there are - * any errors. + * This field can be used to set, clear or compare + * multiple bits. For example, 'status.error.all != 0' + * checks if there are any errors. */ - uint32_t all_error; + uint32_t all; }; - /** Variant mappings for status flags */ +} odp_ipsec_error_t; + +/** IPSEC warnings */ +typedef struct odp_ipsec_warn_t { + /** IPSEC warnings */ union { - /** Status flags */ + /** Warning bits */ + struct { + /** Soft lifetime expired: bytes */ + uint32_t soft_exp_bytes : 1; + + /** Soft lifetime expired: packets */ + uint32_t soft_exp_packets : 1; + }; + + /** All warnings bits */ + uint32_t all; + }; + +} odp_ipsec_warn_t; + +/** IPSEC operation status */ +typedef struct odp_ipsec_op_status_t { + /** IPSEC status bits */ + union { + /** IPSEC errors and warnings */ + struct { + /** IPSEC errors */ + odp_ipsec_error_t error; + + /** IPSEC warnings */ + odp_ipsec_warn_t warn; + }; + + /** All status bits. Combines all error and warning bits. + * For example, 'status.all != ODP_IPSEC_OK' checks if there + * are any errors or warnings. */ + uint64_t all; + + }; + +} odp_ipsec_op_status_t; + +/** IPSEC operation flags */ +typedef struct odp_ipsec_op_flag_t { + /** IPSEC operations flags */ + union { + /** Operation flags */ struct { /** Packet was processed in inline mode */ uint32_t inline_mode : 1; - } flag; + }; /** All flag bits */ - uint32_t all_flag; + uint32_t all; }; -} odp_ipsec_op_status_t; +} odp_ipsec_op_flag_t; /** * IPSEC outbound operation options @@ -1040,9 +1077,14 @@ typedef struct odp_ipsec_out_inline_param_t { * IPSEC operation result for a packet */ typedef struct odp_ipsec_packet_result_t { - /** IPSEC operation status */ + /** IPSEC operation status. Use this to check if IPSEC operation + * reported any errors or warnings (e.g. status.all != ODP_IPSEC_OK). + */ odp_ipsec_op_status_t status; + /** IPSEC operation flags */ + odp_ipsec_op_flag_t flag; + /** IPSEC SA that was used to create the packet * * Operation updates this SA handle value, when SA look up is performed @@ -1054,7 +1096,7 @@ typedef struct odp_ipsec_packet_result_t { /** Packet outer header status before inbound inline processing. * This is valid only when outer headers are retained - * (see odp_ipsec_inbound_config_t) and status.flag.inline_mode is set. + * (see odp_ipsec_inbound_config_t) and flag.inline_mode is set. */ struct { /** Points to the first byte of retained outer headers. These