From patchwork Mon Jul 17 09:00:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raslan Darawsheh X-Patchwork-Id: 26979 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id ED2383253; Mon, 17 Jul 2017 11:00:34 +0200 (CEST) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00081.outbound.protection.outlook.com [40.107.0.81]) by dpdk.org (Postfix) with ESMTP id 4F52C2FDD for ; Mon, 17 Jul 2017 11:00:34 +0200 (CEST) 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=HaU2hhHtVOSwS/WnP/ll7USXRed3yI+31ASs4AVXjsA=; b=tVqlZxgy5toD7dhhhTS7BfDp36So/PQvEvX64Oup6gZG1gvX9kX7mKAjZrCgNknnx8sbX/fykSrEhlVUJpgUFW6cxWo5cRbCfYjHpTPSnpga2klr9N+S229IIYIf8yTQzGcW0XCY1mfQeFrKnfRkqH4Dzo7sEMCw+manqhwx95M= Authentication-Results: 6wind.com; dkim=none (message not signed) header.d=none; 6wind.com; dmarc=none action=none header.from=mellanox.com; Received: from dragon15-002.mtr.labs.mlnx (37.142.13.130) by AM4PR05MB3489.eurprd05.prod.outlook.com (2603:10a6:205:6::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Mon, 17 Jul 2017 09:00:31 +0000 From: Raslan Darawsheh To: pascal.mazon@6wind.com Cc: adrien.mazarguil@6wind.com, dev@dpdk.org, stephen@networkplumber.org, thomas@monjalon.net Date: Mon, 17 Jul 2017 12:00:20 +0300 Message-Id: <1500282020-23171-1-git-send-email-rasland@mellanox.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1499674423-4235-1-git-send-email-rasland@mellanox.com> References: <1499674423-4235-1-git-send-email-rasland@mellanox.com> MIME-Version: 1.0 X-Originating-IP: [37.142.13.130] X-ClientProxiedBy: VI1P195CA0003.EURP195.PROD.OUTLOOK.COM (2603:10a6:800:d0::13) To AM4PR05MB3489.eurprd05.prod.outlook.com (2603:10a6:205:6::30) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b20ae2e8-760c-4828-86f8-08d4ccf24801 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:AM4PR05MB3489; X-Microsoft-Exchange-Diagnostics: 1; AM4PR05MB3489; 3:xM/NSwUd8DkB/+3LcrQ+0X+uM+7QnoWltvR/KyBZiTEpvdX3zwFkuYPm6pWrV2OneiT7RQnnHi0zmtqwSdbOyCQIfi2xJVcQEqUSFeFrvUAA8lsefItN3hXC4aAh25fpMzyDxOjHspJipIxMjsJsRPYrdkkkCGxsAAvyB4y2b6XYzkhTRvYDyZaIAY1f2gg0hwdvkhUMwvn2bTdXjDoESPLjRnXtI+n7sp0lP0F4NfbeBLSfFyMUn/Ct8KjBFqpIKyRU7sek/AWQBkaNGEQbTSK98Ybm2VdOhTHb/FlZYz0svSS7klhDkSzxP8Jlxo/ldQvjWKJmglGFmrXLYX3cxQxcMFKat+OxT00c0afCdvIdAClK7RlyeOd+ODpLgtS3Ajm+q7S6BUpysPPxBV3rElahmRmIIXwYbJAdrBc6xfgQKMbwZup0VtcxOtR08kJnAfKqesP5fzSoXslPVRPOIYjXI5RE8/h4UEnCThbX/sA2QlFXvHXbXkWxrBZ9Wx3YDINMwBrZOKihE7pU7C/ikJtSlz9Uy1njTQ10PfPoFeVwwHYcxyg1aRVJ21t/L/UlGxaqecYSkRD0JF8w5+IdJjgE+mbyfViHXBCv23ZXnfRDzS3ueZ7eaVzuqQOXu2TmIOEYIdRFC5eLLVwnPNIobXvI1gw07+u9ed/JiwHPeRPF64zVz6lVh3ORomry6Ptk7m46qYsjxnZs/mxzAIq4AFgn3RFyzuGy5LIFWsxvNTrHwBTcS7WpTVPUtnF0i6SSyqkc9qkIcCB0ozSJg8I6ag== X-MS-TrafficTypeDiagnostic: AM4PR05MB3489: X-Microsoft-Exchange-Diagnostics: 1; AM4PR05MB3489; 25:pjANoVxvfs76JCe402Vh2CHIE80zJjZlQ9RBKJPrnTxvcYjBTzYFDRdrAde1di7nE/bvx9x0XliJ/GppktGmyEW9n2rrB5IIL2iDJcsD4ZfpLWRwWf1tjL1A3uc74S7D40RZK+OlZeQlcFRfqcXb7r1kEB8uYv+oJgdJ8dr+2eq/It1WQBG0Y7xXXdgfcA9Uyus9mWd9F26jvDn7yra/VgdiRv2XEXRvaoIYRcYK36QK/v2wrKVN9IyeVK6rimZ0TOA2iSz76jXq6ERb2aLIrWHrE5DsTLeVFs4EHvZ/B4doGndW39dh3jKQ2iKsXL9l9V9alEaEshOLfSs7Xx1HreyQw03omiiLelQIz5URBZBHEydUogjyWjlPpMbxKsByc1O0vVDiD5pGE5KUY9XpDkbfKe3B6ZzSpQzrq5zQjcGXe2Zl4/Oq/6PQL5mrbZqx1qitXAaMGkf68KZTxXZaqnw3HejCA82wKwEShzBN181BfmvzfRVOth1tQLl0j2SqUhe76tNwKNsubkXWMGcocQNnbhtAhlku4tM/nkWj4sshFrLuksaYut5Bj/WE/lt/TtamVyLO6VvpziHseTTBeCTT+kkZ9WLr6Pqi4/klsxZ+5tBAbPBXUOrC1Q2IebQYRyob+Q6PZK1Jie3eJgWp+Kl/idf0yOLjiBoipr8sY0yvWicsAFNnvTzxR09UQHP6EZofgVp0dINW5vZzM976fNZOl51pZIcz2Zwg8GoKUZ8q+j/BCjqkJccEM0qOoA4jFSycpxzvWT3W0OXor+7zaZkb7mnLH3UcUofJyBgCupTLQeVtq5WhyiJDX697D3xNeBnrGI3WZCnwZgm0c+vbLsIAv7dEbT8OYZiyegIdtZ1UUUJDkNf9MDQ+ICA0OgIbY+vPiP3wt790hshnnVW+CbKdamozCKzCuYJvIEJH0/s= X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; AM4PR05MB3489; 31:7IU1VcH7ZpmIJ8ue5kreBFF1w3r0tQ5wVXEjYeozkhkDWujLBEmFykxK/cr3qz+zu6McAbSsA1W4Qvu2jQzW5cvwNidh3bKiIMrx+FPCCyV6yt9ojqGJL/ffCh8RousfpQC086IpAB2W+yp9Av3F2V4C5NkpEIyKUF50GMbEQNxKjZnAOa8BZT1I7jq0goLXZfeeoFwytztbcwf59tYuJAXBm+d6PDvKVHFiKvjvBlT+0C8fikjSPqPu3c4v/KKo7oRZ18BkP4DCAATMTSGSseSkkkmuRFMTu4JsjdIU98FF7tHkYFk0BR+zWLSojfkaI/R8w06z07Vy2Qvtkf+BCyoY9sjZtdJ9mhZKekYfzkZhMBjcqoS4exJFiGIrxGqw/hECkDgcT+XdT/Sa76RmadmEDfxmWvKKdB50Y7h4Y9NIQww0hCJ01fZzrUB1jJVHI7gmqCV/C8lQa6Hkb6eD4BX7OosFFgX0pTLk8S5vWFBBcTFCbi0tIWv4cF0WnkD+239DC796xkIcF3lUeeVHh8/KM5v0vr4CvIaOmFzzZVwsFPLwFB+fljs7fhyEZFdodLK/fwpcbphp/mBt1XwAQX+8+IP8Wm24xbvkAvai712cPaWHfmxhD2aMBmoVCWwwwJfWzkpMnfdBCXTgR83EZBhZWqkDNaR9fIMGp5/eJxU3e6WjYYecCPcofeLEHZR3XxO1koXHmMRTTc3otkhLXg== X-Microsoft-Exchange-Diagnostics: 1; AM4PR05MB3489; 20:Ue6M0iiBjcCCLNl/kFO5wvpBrbZGc7L6YPazZOGuJd72OK8xJYYoxexF3oFevz8QKNNGq0bns+JzkNJGHRYc54ucd34E1MxfktbL1b7l0oLfe9BvWvphZbSF9WwNrQpNDzOW+ZXdIkU3hatV7QeCVm4oqCLXU1qN48Hxy1AtJxaKEpVmqw17IzA3f2+0Xo+9DpNYm+YT8ge41abGbDFOVQdp0k1ee93cCAzqeHStKSHlOvKXg7ftseibTEtoROg5k76S7onGpZFNqIuGs94Ppq2eTqUv/6mJ8KAdqrGD8xnvvU5NCeUBQLjH8BpETHkrALe/WAww9lhv8cs2i6ygJ/Wd0Yiu36lcxiSn2zzZdMGvyLsRLt/6UqkWKYBMu1Cb2ifOPwQaZHrZKsv3YyRmc79xTajFgo2MWJcSPQRWJpHvEr0F/dDGHOZOlRkuU174lLCSRdBPaphQRAc78Vv6lsJt5JLhFuqfw8uI3cG01kDj7VR2go8NugE1z6OGT9Hh X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(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)(2017060910075)(5005006)(8121501046)(3002001)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM4PR05MB3489; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM4PR05MB3489; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR05MB3489; 4:Fas3PrmjcwXwRY+DoUJpHCEl3NiNIYyls5lB/HpRM+?= ipHPBG3cQqkWpOBlnjCAU8mbn15gZLW7SNYJHQrPFS5EvK823b9RaNWUz93945NUx7D+8gpMr1qCN7gLXHG1YRcQQzx65K1zlRCKVZfgznYI5rs+2aRpILau1h++S/To1AOF3y3BUP02qftUhjOcwdNc7lNa5xsb5sWQg9z9tg0/fk6ZW8VoQlbjwyXfRjlepW306+GKE3mQZ9O2WfMZsaADafhveFv9jOOwOv7xs3RFTnBEsT8PSQX/iYBaPrXJ3TNSXUft/cylpcflGcufamdcaJuvy6ShrJF2rjSRCUblA+5XfanCeyMZc9h25LRZ7MChH/07CeHlXwp0pondsd5ZvodYwD/u+y42r8Zn0Ma5K6Gn9WrBeQIl96LvrcOmXv649VvE11Y3bWlt+SlOzekH2zuvzgsbkMttDsQwoNlbT/eWg1mJl5WvvqB1CmUTDBmVmRhfRtYSjZQWKXGokq3H8lCIlegpuGwZZkKT4+52GGPsjuhw/kC7KHzOyK6cWrfuVlzryLojPE/gVsYO2EuNSE3+O7M/QIVDt5q0KXjOvBPbZuenkHWf6j5dYghyDWeFvkz5stdpVPAz/vsyGW1hq7jaUcU8cLBg0llayc5yahixlBRoOBpsBHz9CkIYzuODQmt/ajTjWg3tBsSd3lEJQ4/Ttp8gjqiUnCFFPx22Ubkli85ymhSSWemcHBKWiF6bOIG9gdwIkYxRaQp9dxwr90d1CVdeVuuu2T4OLd3zL/LbiY114PDpukgU9v1wzeJKgdANGm9mwB62PR/pCxxBQxKOT3y+2ngq3pD4t1FrQtjTBqvikyvakoadOR8NxUtLkfucE+TuX9xTVsWepki6tKp9rKnXvM7VTduIAwkW16Wec4BvS255AUF4uCSG2vvpNX/lG0ekhZTPi2TAYhKwpEsWZCNSHgS5L7yyMWugqv4UQgpJ5LVXThALlrOpSlBgbXf36E33Uxd3+MawYtpZz079j8NyZ2xqVpfpYp8bWmLrEVJnMuakPn5PGoLXzZbFffJjEYukn7eoMRBN5lr9Nb2CL10L/R066pxZAruqdcVNYhh5kLGnRhty6ik2VPNYkgy1+uGaKjc5VHJsd9kkpWqE9Tt0QFx8xTcgCD5pcAIsKAmzSv25IKXb5WB+CvLOw+VjPQWIvyYXM1VWcx23ZfDzZu+6TEC2DpjOyM87FQxWxknRE/iA1rn4tFko37ri7vbB1d0Hl4L4nu/S89 X-Forefront-PRVS: 0371762FE7 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(39450400003)(39840400002)(39860400002)(39850400002)(39410400002)(39400400002)(2906002)(6506006)(6486002)(2361001)(189998001)(38730400002)(6666003)(3846002)(2351001)(4326008)(7350300001)(50226002)(6916009)(47776003)(2950100002)(86362001)(8676002)(110136004)(81166006)(66066001)(36756003)(5660300001)(48376002)(305945005)(7736002)(50466002)(76176999)(50986999)(478600001)(6116002)(5003940100001)(25786009)(42186005)(6512007)(33646002)(53936002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR05MB3489; H:dragon15-002.mtr.labs.mlnx; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR05MB3489; 23:Y7fJgCvSx5cVcVj+OSFjmBm3gsRma4R3chShWHP0c?= SFoyYJndLyq1i88pmcC+J1O8aVU8PJ9807Jhwd1lroNYt50fMcMFjj4sSzh9Kuobkdz/L+ttiqpjeJh/Trn8hReh+sFjG5R646LhHGHp68C2wD8v5mVdxQE0N90I+cS6QIEFugq5Ki7i1SEJUrFCPitE2t3u2C81hVGEcihvux1GWAFt2vdRFXhYifFtXE3UiOq5WomTgzG9uUD48hdn8H0XwEIk0j+FLNuSrmMmvzhPZbtPhQJhVfekr78VoTOhrvkclHuAB/xZ7piIOoH/R3D0TaPtl8w71A3QufVdk8rDDs4yFAq6n2SM04G5KYZE9i8HMwcCflyj9NTvNK0afQ3Mi16lJuMMaQ1b4Uc7pm0PEviaMiKDTq5BxOYD0TseKydnB0lvOYJKeBfwSGjkPbTxuwqmBVh2OcLFseCKB60tcE/p48JHx87a6a3D4JI+w+PXyDrHS94qTwttXXb7sQsaBfY00X/feY64qW3+v1MZ461o7eQ7Onew5dau7PrW91E2+9q9GdOiQOSNtJ6d/iyh5W9wQAniQiLKcjB83e5wIyIN8S7Z4K6ZrgZGTxu5OX+dY+F6+sEs/d02Itw7hduiwtp4J07bkIPM1HmWou1t596SHaGJUCkOPYRFCnu83BJzzMGgcxouJ/M5OxdHLAuX/F9hfRzYQKY/TBjOrydozHtzg/+KquOcQj5u3cT0HqUkruxHXc9gc3cer4+myrwvZdcrar/6VY79wGGi/tT32YPzpEnDR2cgmWqITxzNXgtvadhFbTpSJPvTCj8//f+XmcOIHAQlcRn9ul15J4f0wOpzO1UU4ML9RicRbN/8O1KXm/FM/IUfV4LXYb6dFCgIXD0AeodROjA4+vNU7/7z5+IbKM2WmKu7O4+bz4LqWqQQ2/hPmNSKTgbELW78Lb0Y7lJWeZ90uVnAMAMhCahpPr6YbrOda2gzpzGu/84AtwVj6Yz5IvEPTD9InOpdo2kr5nQRXCiRVEQFKlkhpvfjq1QqhpvVifClM2aS9rRZOqMI+1JqXbknFQ4UAwh2DFXhgbU/hqVJrYubMRoIOcXlpYC/P/Lqa6fOBKL6wjioGYz81HiXy9POnoaFvZ8QB7W X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR05MB3489; 6:XSQt1Q8u8R6I5VStqnsKFgwt/LuEJHIexC1szK6/Fu?= PgtIpkFqar/MGSAYgf2F7m+fVNa11WifLda0ARrSlkQBp5pnQc0boijyWFjwTx1Uhoi5UBrmL3fYb1TQMpqvdZ7NozoDN7rrXMVWLpsoBzgQEIxg9XffuTMiAJjpUTDEFktBivAuJ70/hBWSLCjt/vZdSU3JFub9zTIurAqOd5OEc0jkHk/YjJDF3GGoZB+wgF0LD5xkmJMhdrBW0Nz90RtOvJcCymAaZ6DOP2AS2oRkDHwzoS+LAbLvEC8SvE4lonNW3pU3pUwzq/VTqMN2LNg+nl+qziXOQx8JCr2E5QWxyOgc3zQayTpIetqRNKABRQcwUjepceKrnmZFyOVgZDHpcJphu+srINXoNEedB29GOs/Qf+5Q4YPocBnJX/ub56E6bSAppG6gE+wXHPFA5bsib/HmYqJ32/sqWHC0y54FIWWALpeGzwVrbVvlGlNi0hTeniBI7Ooa61wWEsYYGmjY2m+xosGtXNwO1QkqDAkus1HAhVFdsjrGFih9oZuq3vQ4AXaIBHl4wCIBH4nl0Q8/mtbBgY11XZgFh4bSWFTXBJJ4gku+BA6cG4bhcz3tS2eWPFn7RHox7eXhsdlJUKoDYIdVnecggSAVQuddMwInpyAalc9EiVnNXtBDUkPpnAgDb5ld0ba+aRz8X85l36Fb4FXCo5BqR+3rrDYjTtSySw9I0IMS3yR+rTBagZIEaMumqn2SnClbIFOnGbvn7E7EH7UnxQb5I+qPaREd0EESf5KFXzymm08ITvc9H8Xw5/rKAQIo6Ro2GbRwh/H/yn0gj6yjJuGfKvzC8bdszx7Bbq77fvbpptcfwXhqhiqPAXCLqUsZ5t1ZtGkDHCRa0WcOVuKB/AM8/ZBRbrYgUuDPPiNYdRDkAopO0CuTZghZjGPe8K3lxzidpP0oWOkgkmdFqMz0Iz8n/le7sh0PDpG9RxrtBJcRyDs6tEqX9xVCxG8xhUGz9oJFjXwE7J98in X-Microsoft-Exchange-Diagnostics: 1; AM4PR05MB3489; 5:PRNT1e33uFJRxZetqRUnt3vQYmohgzMj/uuTePjoTwGP98HbCeIGtU717Z4AQ9cNkykeC5qObD/pOsA/xfNBspjQ18x0RdRO2LhzEyrAAJEoYFFjqhXBrEsx8LWasqfQbwSXyc2J2FKW6yiIQKghsJmRdwzJ9TC5ek9bJhxl8NIwWE3jY25hvSrTD5c0pW+FONTYGwzFMgBs/gDIZSMnk1+JyJAZStSoiWbVsIva0NmeMkZw+1jeeB86C0ZsrBlUIhvi8rlhGLeMHm7vKX9NnqVc4aeeJkYzAF6MxgqyvDxP0GLKuwPyv/MMNzooBKu4vHv+utntrdLbTov6VsSrjVQTUyygkd/gnlFjDT7Ik+OPOVVmjvgFv23wHkPzCvYVdkCzecjZcsnj6d4QoyQ8Jl+pFk/J3Ws8o6X1qopcy+YdI2Qc7i/OnZKH/Kp6PAxHLDOo6Zh3zGyJS/1xMbHLQ4LM0zAhFu5CAsvonjiCjsrpUIhoaCT0hrPiUDC10ok1; 24:EN8Rhg/BOdzp1gNk9NmrI1PbvSMdnEPibneYjXpm/oUir+IJZsxUkdUwy8V9liFwu2B/i/H6TuQIDUVSd0N6xgjtOhvvu0IQS0lcz2T3ny0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM4PR05MB3489; 7:FIL5QI0yARU0eXfsAYaPSOZueaITOm0PIc7ew6Pw3X4qmhHB7gww4N6FoLK1v+amPf6Kff0nO/M9aeQa5KAAm3Dr+w8tmCoJ7bOk/7nRNwQOYoZh8w1H9tK9yTWrZ3/FYVsGH9/yjTgDc2xzz/t6HBXSUsY8QFhUT6aQJ9TXHGx3vxPzcWQXerfABKVzD6QO7bGcnRXkSLv5t45bdIEy6DBfKIYqibHOzavAsmfzJZMzU77LkJaE9rkEmGvlF0XT/tq6LjZSAJcixf1mG3+MrATXMixdi8BihQJfKNoS//RPMffBn328O9OBYGs4nnIwaQDBNzrvgniSCGK0jUcTF9moFREWB78aV/NIlcgbjSNvosOk3veq+I8QV0WQah/z/TpZrl6H7UTknLiRsBmqeL5NLF2oCCSpSHrWmAx4MlPL4hfOusjvU52/1Ke/x2htb//8XRYNAW2EhICzlSwaP5T8CPM9UsAdvUAMIUvTxpWjV3XuNIvB7s7TidogC2ySfF088Q0W6R7s+y6KiKWKQ/xSHPXFt4wmWWEE8spVGgxnjWuSCnJyipG38lYFxoWEu547OmS+DprAZgMf2mBVfvt8G8sbSi5Mq3NW84ZNiNyxhpUWA2xAclYCFW2d+0cv5Fq/UJAU0guu3HYmCeticGFR2w8Lc8RUJ+QhWq9gJbHpT+GVXzZ8ojJzwby0GE+/A2sVlCNq1lcsRgVGc8Wf2h24/dTelixM7dx36m4yr8+jutULQvgT/gTmZR/HXMxxBELquIGyE0YW19ePH5ySgalp7RPAJl60F6brm1jUl0k= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2017 09:00:31.8294 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR05MB3489 Subject: [dpdk-dev] [PATCH v3] net/tap: remove Linux version check 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Remove checks of Linux kernel version in order to support kernel with backported features. the expected behavior with a kernel that doesn't support flower and other bits is the following: -flow validate can return successfully -flow create using the same rule fails. Using the "remote" feature without kernel flower does not fail silently. The TAP instance is not initialized if the requested parameters cannot be satisfied. it has been tested on an old kernel without required support: PMD: Kernel refused TC filter rule creation (2): No such file or directory PMD: tap0 failed to create implicit rules. PMD: Can't set up remote feature: No such file of directory(2) PMD: TAP Unable to initialize net_tap0 Signed-off-by: Raslan Darawsheh Acked-by: Pascal Mazon --- drivers/net/tap/rte_eth_tap.c | 34 +--------------------------------- drivers/net/tap/rte_eth_tap.h | 2 -- drivers/net/tap/tap_flow.c | 19 +++++-------------- 3 files changed, 6 insertions(+), 49 deletions(-) diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c index a4e5d11..c2b1d8a 100644 --- a/drivers/net/tap/rte_eth_tap.c +++ b/drivers/net/tap/rte_eth_tap.c @@ -1166,23 +1166,6 @@ static const struct eth_dev_ops ops = { .filter_ctrl = tap_dev_filter_ctrl, }; -static int -tap_kernel_support(struct pmd_internals *pmd) -{ - struct utsname utsname; - int ver[3]; - - if (uname(&utsname) == -1 || - sscanf(utsname.release, "%d.%d.%d", - &ver[0], &ver[1], &ver[2]) != 3) - return 0; - if (KERNEL_VERSION(ver[0], ver[1], ver[2]) >= FLOWER_KERNEL_VERSION) - pmd->flower_support = 1; - if (KERNEL_VERSION(ver[0], ver[1], ver[2]) >= - FLOWER_VLAN_KERNEL_VERSION) - pmd->flower_vlan_support = 1; - return 1; -} static int eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name, @@ -1271,20 +1254,6 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name, if (tap_ioctl(pmd, SIOCSIFHWADDR, &ifr, 0, LOCAL_ONLY) < 0) goto error_exit; - tap_kernel_support(pmd); - if (!pmd->flower_support) { - if (remote_iface[0]) { - RTE_LOG(ERR, PMD, - "%s: kernel does not support TC rules, required for remote feature.", - pmd->name); - goto error_exit; - } else { - RTE_LOG(INFO, PMD, - "%s: kernel too old for Flow API support.\n", - pmd->name); - return 0; - } - } /* * Set up everything related to rte_flow: @@ -1378,7 +1347,6 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name, RTE_LOG(ERR, PMD, "Remote feature requires flow support.\n"); goto error_exit; } - pmd->flower_support = 0; return 0; error_remote: @@ -1543,7 +1511,7 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev) return 0; internals = eth_dev->data->dev_private; - if (internals->flower_support && internals->nlsk_fd) { + if (internals->nlsk_fd) { tap_flow_flush(eth_dev, NULL); tap_flow_implicit_flush(internals, NULL); nl_final(internals->nlsk_fd); diff --git a/drivers/net/tap/rte_eth_tap.h b/drivers/net/tap/rte_eth_tap.h index 33e1a52..928a045 100644 --- a/drivers/net/tap/rte_eth_tap.h +++ b/drivers/net/tap/rte_eth_tap.h @@ -90,8 +90,6 @@ struct pmd_internals { int ioctl_sock; /* socket for ioctl calls */ int nlsk_fd; /* Netlink socket fd */ int flow_isolate; /* 1 if flow isolation is enabled */ - int flower_support; /* 1 if kernel supports, else 0 */ - int flower_vlan_support; /* 1 if kernel supports, else 0 */ LIST_HEAD(tap_flows, rte_flow) flows; /* rte_flow rules */ /* implicit rte_flow rules set when a remote device is active */ LIST_HEAD(tap_implicit_flows, rte_flow) implicit_flows; diff --git a/drivers/net/tap/tap_flow.c b/drivers/net/tap/tap_flow.c index 18425eb..77d4fc4 100644 --- a/drivers/net/tap/tap_flow.c +++ b/drivers/net/tap/tap_flow.c @@ -1034,16 +1034,13 @@ priv_flow_process(struct pmd_internals *pmd, if (err) goto exit_item_not_supported; if (flow && cur_item->convert) { - if (!pmd->flower_vlan_support && - cur_item->convert == tap_flow_create_vlan) - goto exit_item_not_supported; err = cur_item->convert(items, &data); if (err) goto exit_item_not_supported; } } if (flow) { - if (pmd->flower_vlan_support && data.vlan) { + if (data.vlan) { nlattr_add16(&flow->msg.nh, TCA_FLOWER_KEY_ETH_TYPE, htons(ETH_P_8021Q)); nlattr_add16(&flow->msg.nh, @@ -1231,7 +1228,8 @@ tap_flow_create(struct rte_eth_dev *dev, "Kernel refused TC filter rule creation (%d): %s\n", errno, strerror(errno)); rte_flow_error_set(error, EEXIST, RTE_FLOW_ERROR_TYPE_HANDLE, - NULL, "overlapping rules"); + NULL, + "overlapping rules or Kernel too old for flower support"); goto fail; } LIST_INSERT_HEAD(&pmd->flows, flow, next); @@ -1276,7 +1274,8 @@ tap_flow_create(struct rte_eth_dev *dev, errno, strerror(errno)); rte_flow_error_set( error, ENOMEM, RTE_FLOW_ERROR_TYPE_HANDLE, - NULL, "overlapping rules"); + NULL, + "overlapping rules or Kernel too old for flower support"); goto fail; } flow->remote_flow = remote_flow; @@ -1393,10 +1392,6 @@ tap_flow_isolate(struct rte_eth_dev *dev, { struct pmd_internals *pmd = dev->data->dev_private; - if (!pmd->flower_support) - return -rte_flow_error_set( - error, ENOTSUP, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, - "rte_flow isolate requires TC flower kernel support"); if (set) pmd->flow_isolate = 1; else @@ -1642,10 +1637,6 @@ tap_dev_filter_ctrl(struct rte_eth_dev *dev, enum rte_filter_op filter_op, void *arg) { - struct pmd_internals *pmd = dev->data->dev_private; - - if (!pmd->flower_support) - return -ENOTSUP; switch (filter_type) { case RTE_ETH_FILTER_GENERIC: if (filter_op != RTE_ETH_FILTER_GET)