From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0043.outbound.protection.outlook.com [104.47.2.43]) by dpdk.org (Postfix) with ESMTP id 9D7005689 for ; Wed, 5 Jul 2017 20:12:46 +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=zJg6kqzg9IktvWSZD8JvzTRH+c0X1LavRma30Qj/rmk=; b=bM6YuWbRmzOHk0Yiy2C3/nRl5GgUff7pGlxMl/G49KZb3tpNKy7tNgwS5IwjOfnN1bygYWBd//BY4NoW8QSVGybtvFrc9UOz/5oAThGMhmDEsADHqEq67zXUJXiS5dZAEz8c/QjFY9uosy5DXUsbvLegXKpYDAk4MQ/AUvoeniA= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=mellanox.com; Received: from mellanox.com (209.116.155.178) by DB6PR0501MB2038.eurprd05.prod.outlook.com (2603:10a6:4:6::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Wed, 5 Jul 2017 18:12:43 +0000 From: Yongseok Koh To: ferruh.yigit@intel.com Cc: dev@dpdk.org, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com, Yongseok Koh Date: Wed, 5 Jul 2017 11:12:27 -0700 Message-Id: <0a63bddc25e2446c0f07bbb10397fabce733ac54.1499278209.git.yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: References: <20170628230403.10142-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: BN6PR16CA0014.namprd16.prod.outlook.com (2603:10b6:404:f5::24) To DB6PR0501MB2038.eurprd05.prod.outlook.com (2603:10a6:4:6::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b71af646-0343-4308-a1e3-08d4c3d16f3e 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:DB6PR0501MB2038; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 3:W3WSZPSS5VH6rP7eWl3Gg46N5Ya9rtthBkSN+Fhkr3KPrFae5hpNYTJ4Wy5zbceDBXhmtOotNK4M/NyI26qh3eQnlaJfAVTUaqlcgb8WDoriRDlI08npjtk7M9kCyajz9dloe6mGbyHyH2irn1SGYCBI8Oa2qYXXJojTIOgMf5Wxo6EZYnkaH91ajWucnKWeNIsZyNyH5lgVN8t/RYHWfOndVNRNfHAVJfEnpO2dIc6MOa+O5tR862ufhUq/MM6EFKsnY3Z1MQGYMu3tHc7OhUmRyrLOrbvIrv0QkJPhrpEtSGQUlL/E2ovZKyjuvQjq4oi1fkhTROE8GjwUGUDKmQgbRWyalChOfFrN9L/bav2GMdGgdC3Q+mF8m8pd9/KE+k9XvY+3RuWEq7w8GPzWKY6F+qh4F6iWvB0b7T70bLUxYDRdZ6DfEoJvOv4HkfFwXbtF0vtEzSnE7o4WK4EWot8sm9WtyxKsGPfosVCNXO0uypqAFAzyMpzvkOrnPScIzasvOYizyYJkAtYZeHDMuMYALYAO5mnSzQ31qMCknmc1JIpzcm7a65g+hOgrED3qP3ttIP218WTPGxqg02iURwJf1SpLBswdfvgBZOhkM12aGHsSsruiCK6uNDBO9MiRTwNfRMMwCPfluWPWygzMSOPX/eu9j4iukF3cZsK2WX/AiWP3cf1BMcskK2c1RX8wJM4wdByUVg6uHzSujxtART8wJD4neDqiRfImpQc2ZA8D5YAsx4Wpx3kU0sSPTfuYHfVSpPInzAJVjX3ZqePeRA== X-MS-TrafficTypeDiagnostic: DB6PR0501MB2038: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 25:TpN/P/F2LxxqzsBlAcw55eZ+CyuUqMinraHH6D84iwgkNYCe2LAHX8FTusfu5hXFxlh6ElUE01lSCpT0xMCsDo52jtPPzWZgidcJkpZSzkSqwnKS8hVfrc59+UbNLx36hiUjSjeXUA2dR1ld3dCj8DgHtC20Zsf0awmT4cYy+d5N6K/ZEag6iT/xOYdZpxeDjIhkNlzMg19hXQ15YYU3gkqynTdOifKXvi3AjeFN01ngUzYyAqJsMUL8UGnZHmrBudBUyt9mjUfuF5ikxdGJoTCeWGeMV04hU6Tkdt7u5o4vocC18+JC7+lC8276PNQJmAQricTNSKXkN+b96jYm2iWnC88yPOZ5Cr3uqAqApNpqtE8SWDvejzGwPDUF+h0GnDgJeGTMJoa2zdIBXCXlNySNzsKsR91SK/Jw0Kw5yEnn5qATUdA/pfqxhbPx5eIvLoxN4kP85D6nQvwYdNSffnqktQuI8zddS/MD51FcLx7TqVNrQeOHbiiiAFX22GgQE5iDA7kxruMANAuoFm0Bo3QB/DOVPDmdpSv8nOquSzwMbJeaLNhSfXNRxK6Tclh6wgVO/h9C8UAX94NOoBy3cnq057RiUi92GmK9Il70VkFuqG6E2yZfVON+Q8Oo357StB4WJ2bgd+BkrXM41mLf/WBpkYNE83ihRGyxMGakhbCpehOLAIiMM2l+yyYpoSp6oyREqSvIb/PDD6Nok+xeHNMftcsCFsNvn5eASf9iFwHcofIXPUIafIpmKAY16AlB9oELhgAbZQu0QzAHeaFITWDUZj/6uR4a15m7ZsZY75302xst9tDy4Su7UGEEYZ3aI6aFexSEjVjd4IWF7z6ZGmCAS/8zkRV3alFRE0RGPBpNNsLDaG+WFpFIbn49JEEqGfTyl5e2Z9x28Dkp28NQlI12VMsl7A/bKX8B6TPKVb0= X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 31:bU08nSGQ0fUP5fClLmIe6PJxeeuFWBVoUafnhX09AHEvJQkblBLL+ATM/Le+jtv+be/Qy4LuBRG5mow9T1eXhKP0vBeRm08OPK9rZ8S/ClCBFyEX1BiU0L9g/NtvJQbvqFjA5CaAlPvtAR7cjLOf6sQios185bdvz+VtlkTnnzHsaMn3nXyFieqlX4zniQS8SRlF6+8Nrer0Nh+cac6fiiSw7zd9SICaB6wnBxMeUYt/uQsrRHqqv87ShNVyAhz5e8UKvHHar8AATS0t0JFY2Gl1CImkfjWS75e40VcOhDVMhf+29i2aD26WkIhUcQM4SkCft8JYLAJlJj4BAo3SL100QAA7qdJzIU/yhokJGDdGtjQqbHqBF7yWsZPDw2OfWucDZra//Q5tPppIA/qmgihvyllta+E4ikPGXBB8HD1OGDPYnRyYCxtipHI7g0VMnV/Xmuq2KIZSJnQtoe4+MU22P/8YOkGUizwJ41gvuwrMDRsoalCFenHsbLt2GHFe1sriEdkAn8ng1p4ihmTpZGJBFHS40vH32vIvkzzchTfugKM3LmeQJwCE1fXcvEZA7PuttXuC8A0FPEkNTnKSMm/33IlxVD6uC/sIpZzjkYJJ129vjzuOQl7x1Eay+PpOq2fvHmzLw0tD0CjcCz0pZHS0JIuVdbadKL5S05cnJwe0xd2PePx4Iy7AG6q1K820r+3ErCRoOZyfz6E69A8ILA== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 20:fOIY726MC6+4ikyClnPkta2TD+qQLk3vykQjlb2nB20O1F4BUVWsgjL9VqJ0DVozJdLEnDUWFZ/qu+vA7fzhMP3rpRIHVFCdjs6NZfXZo6zRFolOOrquGef3dP4W6BHLNRv2ESEA0oFZuFHkAwDACf75aB6ylXBecu9yioo/QUS8xlYefSd7pDb3F1JpbQB2WZ824JLpBe/W1KLGLSoXR7aPar2zvl1SQnNUdvYuj3wzQwLtnypcgS5c7TjFgH7BDht1Q9MXj+qU0JoB5Jc6m3uzKZrnhoWES5GwSDxLxTbsG7njQd8GDHSEomLmFSlq+RZSDOLwjUj7/uQpdDCdXYwqYZZ2luy/afD8PhL72jnI2I8gWvHszczxKkVjusmYbXOOPcMoaI06a7PRCXQHqEkcIZ6ln5W1cKrjhFGCqW+R68SF3VO4JFSNRNWs7V0zgRrzOWHdB9D607DDhDYFkqsSkt6XM3E9DwTo+y9dBXWVIHvtTZJnzYAwqH54e3lY X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(788757137089)(167848164394848)(247924648384137); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(20161123555025)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB6PR0501MB2038; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB6PR0501MB2038; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2038; 4:vPMfWkC+pQwoA40MHE0ybAUfsaFWzKTtWsG+q3tz?= =?us-ascii?Q?MG6aC+jBtzZgmzFRjvDMi4wrp/3cucClBLkdACA9VQuy+GBeRjmbBSP27v9v?= =?us-ascii?Q?A/X7bA7qCBib7TEJCMCumLIVzUI6VOBTQp67LmS83kLpkdyYpfOZtgNP1WRo?= =?us-ascii?Q?o/6ECiQ4ZX42COrMht8MnScyKbVpSkG7GpD8J141uwTkwyeIGsT6Ob8+GQEZ?= =?us-ascii?Q?nLGEJYs6WAGCFVsZBNufkcy1lppnYH3bVorE2gD2k9MbmMcN0qbxNQn2o4ks?= =?us-ascii?Q?ksQYfcOmezd2ytMPfPWhzkyBwUXdiSQ8XqzUn5yLHOlHWuPj7RzlQ5JmRSUc?= =?us-ascii?Q?Q5RsGKe00Ot7I1Y5JX3Gja+/suDpEssOuBMEkQLMQQy+fjjf1cA9k21dcI4N?= =?us-ascii?Q?bmdjrye08zeqVV93bk1eRvchcOAArfJfSmwK29SWFO3/HHlCgHOudGYsegIR?= =?us-ascii?Q?sas3HARbZMEfCFftDKwNzjQdlAxIJUFFBjwZxouvIC018WgKMCFVEDf9pjP6?= =?us-ascii?Q?L09HFshpUJ4nB0aEmFb+ekU6h4bBGHsDAjvuNGbPdPR6DnosecgB5+UGPM5H?= =?us-ascii?Q?OcasvgWVT1W3L3yqpS17UngYQ/dNpooB24W9YzO4LSTSlol5rawNYSX39yPN?= =?us-ascii?Q?zrbbmGscpXbixn6sJPk9Bt9ABlB6vsKyhMcUy45R2TOMDEGUuWH6/4lPPiDY?= =?us-ascii?Q?DF1maYdxsOXb41ETGPdHEs+3ek7GXIw/b4CseaTkPjqRte6fv7hK+NKWovHt?= =?us-ascii?Q?7p4MAT9wmvlpdWr21GLnn+LNA9kgNSi1p3KEmyBGU6b0RRLkQskza2vNk/eV?= =?us-ascii?Q?oT4EtNPf4V+x43yZnD/kZP0HsfKq9l2I5lShVdgTurOukRamDQzQ51VILKjs?= =?us-ascii?Q?z8uNSSuLrkG99xytNbWFR6NqKMbKgXTHYyv9xb8YIDvg/EJg+5Nr67WJgqEP?= =?us-ascii?Q?6a3dcjBNWEWEEoZ/OdflJujxrAVvbLSQIxZvoZVURl6i3obzKd7EDDpH7z/m?= =?us-ascii?Q?a+88tRHzDCnYsqypKBdKVKuuUAv0rUOLCPLiHW2Dps3mQskSK7B0saLyAcxM?= =?us-ascii?Q?i4+dZ3aIakunip8W/u9TPVHYNBUYNM830ONgKF+0u45BL75Sh39iXBctorsG?= =?us-ascii?Q?I9ZwK2dnngqHGJrwKXO0I95KbQTwWDD08lZh7suRZ1Q/S1zzV7uE/5Xe3vms?= =?us-ascii?Q?WW8GU7kjgLSOGLQJ+Fm9RTRkPE0uEe1+vineY7ooRE6Sji5SR4Bj6aCYPnUP?= =?us-ascii?Q?t1rGgOrCJLHq6PbZ9a4AUn9i6gvSWZZzElIcBa0cNz8Fz+ccpg9thZTIxm+k?= =?us-ascii?Q?eUbmmPRMMAAQC2Jh44pHf6Y=3D?= X-Forefront-PRVS: 0359162B6D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39850400002)(39840400002)(39400400002)(39860400002)(39410400002)(39450400003)(8676002)(189998001)(33646002)(50466002)(4326008)(7736002)(5660300001)(5003940100001)(25786009)(81166006)(86362001)(305945005)(50226002)(48376002)(3846002)(6116002)(2950100002)(2361001)(478600001)(2906002)(6666003)(2351001)(50986999)(76176999)(53936002)(42186005)(6916009)(55016002)(36756003)(66066001)(47776003)(110136004)(107886003)(38730400002)(118296001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0501MB2038; H:mellanox.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2038; 23:DJRRETh6k/Te3rOf9FbIYdalHOkwkX8XFgQXiju?= =?us-ascii?Q?dXGPV9hNpj2gWIeJSK0W8aS8d/gnEq7P5tbMnrY23H2O2HE1yMTvi/sxu0at?= =?us-ascii?Q?0XXFBL3kX1rdjTvTJu6ceS73QAZfcr77JPHRIbyzLXKIbReThbd7BHjVUhsD?= =?us-ascii?Q?tFaa83A2vuIjHqRi0wN4CZ5BhBfHpMV9vQY0l+TGHFckAPU+eupca9gjnPwO?= =?us-ascii?Q?aWP7NOUr9M6lu2gSTEBB5DBOBpQlDY+GAoiLxnkAtk5D8YbMBtI4LXlOZGIs?= =?us-ascii?Q?Owdir0Z1DtqlUrkpE/QcFVKoi/nLeb5Cmkj1AY7ZMGJ3RIWzstjOivoqH8af?= =?us-ascii?Q?kcio619T7RygDc3muH5O01vVM6XCaEHQrZnwH82UpzQbg2vuAsWaddwugN/G?= =?us-ascii?Q?oCsih60jnZGpS8FQOylgxg4xulckB1TrNnsf7lPk/TatQLa5809MdEYpydfl?= =?us-ascii?Q?oZBj3HcnD6QudT68hmfUl0s11jUBb5Dx4QX999YyiybGHJmMfR4NFfG829Jx?= =?us-ascii?Q?YQXlzVVPJ4YbFL5xipMIePW3SRu5FtIjxBefD8m4ZUB0Qz2/Czsw7QwbPeGS?= =?us-ascii?Q?JI1yHZJ0xpY6WC/s7SbqKP9V8IcIPM4rOzI6j1/RjZflfAC/2452QDrVWuNe?= =?us-ascii?Q?NOrG1bX3J5Pd2BDF7TVHp8RZlTdAymip9NkqU5z1i2tqn93SedLdu9HREhTu?= =?us-ascii?Q?B4ZnmwTp9ZwAP06JvqGKrsbBUtMGCAZz0ctnoeDYtJNvJZvAG+YdldpxFv1B?= =?us-ascii?Q?qlNt9a4kcYedaD8lRsNIsC022wup+n4FLhQ3exboNIb+jxtYLHyOmeViwy6a?= =?us-ascii?Q?fCS0x3IrJjMPaNPzw4LMyGK6Pct/qES4qac5kQz7Yt609We3lj7iuunF7nGx?= =?us-ascii?Q?abVO8k3BwGpbNqrgROKwKEY4OiMbsHTF5kFBIT4JiYq6lrLGft5OxWSkmuTF?= =?us-ascii?Q?katahBy3ClJcvuZ/3c8d7mscBQg/Ppo1NOeSl5KD8HdTTN/NBJwYrgcZ8HE1?= =?us-ascii?Q?Ozq3XOFAGs/sraShjHPporxFd5YdZJm+ee3zzG/6lyN6WT1X2CcDaS8lScvt?= =?us-ascii?Q?DxEyAHHYIFJxNPskxLCoMkcMnyd55u4oQN85xdPxixR/szPDfHg=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2038; 6:UDEGBgNeIlPW/OAI2qEu7PSOZ92gfueahwMcpVor?= =?us-ascii?Q?l2TDbiFo/e0+KN/eaJfX3X3PjJAipjV1bujRIu6h1DcggiT8/9wZMo7ihb4I?= =?us-ascii?Q?pkdjqzC1Nare43eTXrr0xasLScAeJb3yGNUpqbZ2zeD3HEVhLTVaO8xllAfE?= =?us-ascii?Q?OJ69zmO9iUasAT4bNJksUtxypBplmzNzNAYtyXveeQRqRw9HxbLWXupGiDLh?= =?us-ascii?Q?vAcm3GHIOoTgdtTSVsgsBlfRb5MkOcv35Z1oYu5+Mwwl585lo0BgJoSMeTkC?= =?us-ascii?Q?AJ+372PkdGmL8JGN6epxyZCMaGrS0OoLGwWs0g+bAPIp40hKQOlZ5bAGisoM?= =?us-ascii?Q?RHDTJ8MBAuD+F7Fb4pocL2TaDmJo1pp+vKoy0DQ+Eq8FxYEszlsXBHZoHFoP?= =?us-ascii?Q?pyOiW6cR0LhJCLsyQHz/lKUjskgBokPoQuUuET7LaE2jE4QInVwwzs1ysUX9?= =?us-ascii?Q?9oe6+cpkI8BOfoMXJCMC9dnyvNu41KIa0ea2UWxz26Dd6E+nckieOp3TDD9h?= =?us-ascii?Q?IMDEWpPN5SmfxShY89zOi7B+/LhlKP22/1JqdUf6Rnyrpg4D3rnIUgUcKKjm?= =?us-ascii?Q?eJsQ/edh/VE1ezu/qzGgm9zvzlg9oMkaZRQZ0l4g5VRgKnOgEbN/vcEXBiXo?= =?us-ascii?Q?e2Z+xIkvuWoglt7rtS00mmbr5LcqfLmOKfRHS7stCW6O6Lw6K8Qm2vB8+0fW?= =?us-ascii?Q?u1bKT35acHOhicc+P8jMLqIGnApTbIK0ROyISWBT7XHs/lxDnIFsTn90IxN5?= =?us-ascii?Q?XAFbFJHi63jr1VwldRUtHmrdp8pjzxmb6YUDesvqxWpomBtoL01HDToQDyAE?= =?us-ascii?Q?ZGk18HRBRD+2ktAbl5v1i2ZMy1fqZuOdzyv3g5HzULFeVFbbcf2tJNUJJ4Kc?= =?us-ascii?Q?ucCsmIaazfyzWqTEx/ku3uy3GKRHmCC19TF2A+rmmp5QgX/jfAp+XXie0em5?= =?us-ascii?Q?dWcN0RS2IxF1X1gchikOz3QS/FOxFCJmP5mmKYQay9LXltKAjSNi3ijeuQfJ?= =?us-ascii?Q?xh2Ui+DJ8Dzi5AckrMMPMqU0?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 5:QHR+q2+Xl9/XGEcuHVFFJ41NmLmumlkva74K65UIXoe6I+COOEiXRhobB2nKDpX/E7wL8mmcQXWD4a3hF444Qc6U5xE6iCbKfkCGW1DjPb+3pZMKvvwM856viXVk/FAamp83Q+6TZ254lcqw69xULpH12b8MehthOnaLet/liYg5TaBzWrLF7YKGCRRh+M0PYkRaxj0qsJ+U0HtQf07KlxZVijXC+hhdjpkEozKrbRA124rZnxtHCi0nszlNbwOzDNGkd7Ur7X436d7oJ+zUL8mMt8av0X1mVCTY7GeWzKV+uWHaaMg7liKg0SnH3gGuiaih9IFHsmISxgfL7J+9TOuyoYozM64NARWSGJCxk+AbPoxeYNYMHz0k4tGcYC+5MMa6SkyKsZswQJL/9EWexY8VZmMvhPASuNmaJT3Jh7j9f3Ohgafnz61LRMnvqzmil3xzWRP+u61pDre/Ep9+MEQwxxkwrs//OqpTCnTaB5FgmhCYRAx1/AyqR55HPvRR; 24:6HAWSm1C6LJUG/QiBBR33brIcu033EHzjmtBjt5+UylCZIAZrk5G5D0q11LDENJf6v72gxBelKcYDOHKu2XKiPXcY/YpLd1BQoLEyaDIeds= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 7:MdyyVnuPiqCz4qMw00aHilxQrz9y62Z2duUoaBi1lyFZ/WpV44D2VYSMi5gdtS8/anUjx8vM9tl1wUL/N1cCyK/em3exGnkpegqWnu2oFDZlXZUIfeJzCBQe2/CsqSpwxzaz2DQNeuo49wjQRiQ57cPwdUYtndBa6wH9TWNjFdDivYdVDoExdaolKwwYz0D5af+WoX+/y4VblHp/6P8lWRXbAIM9IUyVS7pLrQdNLEkfHDVGsPvuaXlxkvlfSYBFZL8oS03xLSigNHrZHzfhrcdK6PRBkknvmTO0IOKk9AMIxi0dcCLd2opxZqUd+RIDx7/bNG90MJnsx4hx9vpghQ5PcDLrhmZNTAtZ9UGsOnz/dTvozJpFLIj2QT/Sg3PChpCLLq4YOfmVBlud35LXoU8OFyOtrbbOlgAHsAdZr7bxen1GB0oPh6q3DWRp6b2a14bQu6TBoOytMVifBYSMtfaoYQMnLkOVzrweKebiT1+UWw8QymA5r3DBAEqs4mOfn5NogasftVTQ5J/P4Wh/qDD3xiY4/LWNYjRY2ZF9QCXIGaD7Q19NBKvRimt0WgRnqm2XagUlgr2vpMRg3UubGDDgcBDEw/pakEvi4LRxsQvonicVncPWC8+IqYr5BIRNeQRQ4czsUW9dVmN/oqYCNTgw0GJIPmgw4yaGFOmwHp8HOF8g1rHCpPgwj7wxqqxm29/BY419gTG/e2+pm0v6KBM0F1hv3iQbQZ+y8FEzl75Ah/R97ZuKG9eayOlC46QMJiIFpE3abDGh9/jxhV/vUSiwmAqZWrE5wWhLkn9OW8g= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2017 18:12:43.6945 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2038 Subject: [dpdk-dev] [PATCH v3 4/5] net/mlx5: select Rx/Tx callbacks when starting device 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: Wed, 05 Jul 2017 18:12:47 -0000 The callbacks are global to a device but the seletion is made every queue configuration, which is redundant. Signed-off-by: Yongseok Koh --- drivers/net/mlx5/mlx5_ethdev.c | 23 +++++++++++------------ drivers/net/mlx5/mlx5_rxq.c | 2 -- drivers/net/mlx5/mlx5_trigger.c | 3 +++ drivers/net/mlx5/mlx5_txq.c | 2 -- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c index 96bccd5fd..4a77eac50 100644 --- a/drivers/net/mlx5/mlx5_ethdev.c +++ b/drivers/net/mlx5/mlx5_ethdev.c @@ -923,8 +923,6 @@ mlx5_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu) struct priv *priv = dev->data->dev_private; int ret = 0; unsigned int i; - uint16_t (*rx_func)(void *, struct rte_mbuf **, uint16_t) = - mlx5_rx_burst; unsigned int max_frame_len; int rehash; int restart = priv->started; @@ -944,7 +942,7 @@ mlx5_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu) /* Temporarily replace RX handler with a fake one, assuming it has not * been copied elsewhere. */ dev->rx_pkt_burst = removed_rx_burst; - /* Make sure everyone has left mlx5_rx_burst() and uses + /* Make sure everyone has left dev->rx_pkt_burst() and uses * removed_rx_burst() instead. */ rte_wmb(); usleep(1000); @@ -1018,17 +1016,13 @@ mlx5_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu) /* Double fault, disable RX. */ break; } - /* - * Use a safe RX burst function in case of error, otherwise mimic - * mlx5_dev_start(). - */ + /* Mimic mlx5_dev_start(). */ if (ret) { ERROR("unable to reconfigure RX queues, RX disabled"); - rx_func = removed_rx_burst; } else if (restart && - !rehash && - !priv_create_hash_rxqs(priv) && - !priv_rehash_flows(priv)) { + !rehash && + !priv_create_hash_rxqs(priv) && + !priv_rehash_flows(priv)) { if (dev->data->dev_conf.fdir_conf.mode == RTE_FDIR_MODE_NONE) priv_fdir_enable(priv); priv_dev_interrupt_handler_install(priv, dev); @@ -1036,7 +1030,12 @@ mlx5_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu) priv->mtu = mtu; /* Burst functions can now be called again. */ rte_wmb(); - dev->rx_pkt_burst = rx_func; + /* + * Use a safe RX burst function in case of error, otherwise select RX + * burst function again. + */ + if (!ret) + priv_select_rx_function(priv); out: priv_unlock(priv); assert(ret >= 0); diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c index 22be999e8..98b20eb92 100644 --- a/drivers/net/mlx5/mlx5_rxq.c +++ b/drivers/net/mlx5/mlx5_rxq.c @@ -1226,8 +1226,6 @@ mlx5_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc, DEBUG("%p: adding RX queue %p to list", (void *)dev, (void *)rxq_ctrl); (*priv->rxqs)[idx] = &rxq_ctrl->rxq; - /* Update receive callback. */ - priv_select_rx_function(priv); } priv_unlock(priv); return -ret; diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c index 40f23da93..595a9e064 100644 --- a/drivers/net/mlx5/mlx5_trigger.c +++ b/drivers/net/mlx5/mlx5_trigger.c @@ -72,6 +72,9 @@ mlx5_dev_start(struct rte_eth_dev *dev) priv_unlock(priv); return 0; } + /* Update Rx/Tx callback. */ + priv_select_tx_function(priv); + priv_select_rx_function(priv); DEBUG("%p: allocating and configuring hash RX queues", (void *)dev); err = priv_create_hash_rxqs(priv); if (!err) diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c index ac9dfc5f0..03e23f58d 100644 --- a/drivers/net/mlx5/mlx5_txq.c +++ b/drivers/net/mlx5/mlx5_txq.c @@ -496,8 +496,6 @@ mlx5_tx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc, DEBUG("%p: adding TX queue %p to list", (void *)dev, (void *)txq_ctrl); (*priv->txqs)[idx] = &txq_ctrl->txq; - /* Update send callback. */ - priv_select_tx_function(priv); } priv_unlock(priv); return -ret; -- 2.11.0