From patchwork Thu Jul 20 13:47:59 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 27087 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 34FEE7CB8; Thu, 20 Jul 2017 15:49:25 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0082.outbound.protection.outlook.com [104.47.36.82]) by dpdk.org (Postfix) with ESMTP id 8F601376C for ; Thu, 20 Jul 2017 15:49:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=jPIPa7BHwp10CSSu0SaSS46cA6QztoQRAouxtnC8/GQ=; b=QFVI5uXKvaNsw28eZsyN0Ad4nfurH8Jd7G0YT6Y87XekftjV3hkpdkVxJnaIdyCFLrDVqX1pxj81YKYZkMSqNPfUgeh/WnDvEPSXYPOzmOJ653TgLsb10dfJkIe1wtgKhsifWTffltV0NKEypcKqay9WjzSesSIjLyDOVLpKVYM= Authentication-Results: monjalon.net; dkim=none (message not signed) header.d=none;monjalon.net; dmarc=none action=none header.from=caviumnetworks.com; Received: from localhost.localdomain (14.140.2.178) by CY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Thu, 20 Jul 2017 13:49:10 +0000 From: Santosh Shukla To: thomas@monjalon.net, dev@dpdk.org, olivier.matz@6wind.com Cc: jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, Santosh Shukla Date: Thu, 20 Jul 2017 19:17:59 +0530 Message-Id: <20170720134759.4680-7-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170720134759.4680-1-santosh.shukla@caviumnetworks.com> References: <20170713093255.13986-1-santosh.shukla@caviumnetworks.com> <20170720134759.4680-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: MA1PR01CA0115.INDPRD01.PROD.OUTLOOK.COM (10.174.56.159) To CY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bb1238fb-5cf7-416d-aa7c-08d4cf761b12 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY4PR07MB3095; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 3:vZK8VeVatJQYFPb1LCuoWd8qIOIBdHptu0uVMdjTgBf185ZV3v4V0BfDoDvA/PrecRFKdC74NYL3462j230DzsIYdy+xT60utWdgbHahHptYXw5cTm5jCgBEwGTfT5sVHoqKwcqVJGyywLRs2A5zt+GuaX9ZVERRdIYaCnWgBMh/jHhESyRGoWGVx+39DFlDN80yvQT2xgKAofOoT15Rl/H/CmvwDei74/fc8mDXUG+q2wSH1B4Qm8ReBSsZm/8mFALmI2hvwo1z39PHh95MEZ4FOmUqM2/KPezQOkL5XBTKeMoigCN+jv03QQA7YPvApshoXeRoB3YPpCFWE3Rkx7G4XRkYAQ+HvcA5xYOdRfSXhVEzeom7oz/ndbUIPrCwIN5MaefhWxVGg4z8G9ELp1kelSa49I2+uynEttqubHnHiIqjim+EfaDl7XNVPS4Si5KHQ3QY6jRrwDxwmPcBcEWAG2nJ4tG+50trrXZZTJ9eaH/uCfQrmOlOgWlY0Stt+I93huSBc1KF754qM2j2c8OZ5jRt/YV+y7R+ALeJ0KXY5VYMcSNoglTXv72vROMoNV4g4hi2ouOk5OwhixBvfOeyT4EX/op9eF6SaC4I5c2LzeIS6z5tVUrRjP5AnvIPqbM5oars8VOZSrAoVd17KHT0guab52gI2iB+ZvWan0qcw9VIXfMs+mPF9LF//KHxcIcdmxPVHHPIuFLPbR4hNbyPROVshrslrc1M6ZpvtuU= X-MS-TrafficTypeDiagnostic: CY4PR07MB3095: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 25:bOVYiQvoFsViIDRVLO8zAdTslCY6P21/DlmLzp0ymLnYreS+nMhfo6zLTA/Ij5KDlAozAn1g5RMiORIhAL8wGrvVgLUU2cRQcjPADntyJLR2cQgx3QFEprbz3qaEW+IyYq/Kvl59K6jaxb4Cnf90jVoMvicAtGuvg8mMMBu+ebRSfyEWEH+UeWZ2+q9WaxGn1oH/FlhqwVCz+Ryfhia3PlJZYAN9Dph3y6m685/SRH62nrPkiJJjX3VJgCMxKlQi8DB4S3I6dFtCHhQ3Uzid+Hw2BgOJk5MmtJIv59SPjCq5SH9PVoQ0UmYVy8h1EgDvFp2AZDmavUWUwJQA2jnwA2MgnDqkVaLIG+rGt41CLVDN9G4xUdXaLM6E1d0p3MWy1lhXK/KDC3kuuMS4PeUXwa5vUelar2VpQAoSNW7GBVe+OYnNVlsvBx2oa3UgB5bPyAfGnBbUWZJttSCr6mr5sTVQRaDko3NnlLb79K5ziOnxpmYDi/yWje+vBLtSABz0kSJGsIPrDr34gz3WW09hwjStJ8DV0ILzxUOAfWS0etnsAOmtfTDMSX/BzlMtbOgYF1hmDjONeII2xy0yQ2U4/YlE3F7pjtS+8+mW/szPaj63TRHtsiywYxCN92zALBXTPR1gkdUTUsHdbinXgGmRDHIwLGUGs87V1OgMQ2cGvXduWBpyYz3BO2C8IP/hwyALEQk6mekqy3ciDa57Lw0r7U2jpnPmvYzMQmQ90TB2j/sN3/5Lyoosb4D+Hte780FNUTOlyRpGZX2EIaoCHVvjXquiU2El54Nk1i2NZlHi5HGfUuORvhDDqntu5b/CmgsqPnKtfdLRDq1kj8unyqcOcLWQrpTs7RXMxmcSK+cmfLXKEzM4z4YF+0izTT9M2Dds7O6Alb9Pviy9k0PAhF5X5jLLO/grTOsJtLlbt0VdH9U= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 31:6ZIwQAe6Hzv1s5G9UQVdZ0v189kBIvnU3ReHW1i78BsIC9lfRHAMuMY+KvHjqeqe/pqslmCJrA7S7zeYi+tTLUw9MKmahP4FLP6xRtKm7x8aP/Qt8a4wwKBGNjQqM5o56WOf4uh97NXk9hhLpaHf4t09RwU5OcWK+9SYPulVyWwp9z3Xleghuz1KBDeFguCh1/mWWNNoEF1Xm0PzyRDLV2CKCG3fBKCdQ1zRjEnGRh0Dww4PcgJ+rsar4i9vksRLPrCk+1kLZcC0bgdKduPYmkBwsq5jRGb3tXqrUqIbxEUYWrz0MmYw6czBdv1aTCngNebdHAp/JZZRY8hYL9N1UeW/sE3BeGwzQ5lJPkRsVuaiiuKyXWgPNWjh0bvxH6nzMVxLqpPB0EknpAFylvgpxNL3JK3RFuPvQF834GxlxbY60o0XRAOvsYUdPmUDRGrV77D5EnoJqax5QirAMvvV8cJGf8yOkMbVXcbDYGU8CMNxDPBQkp1MWQFRUkBFVidReiBXZAu7cFMMQXlpehH8uut3W7goGi+8bsgf3UeN+vpg7hJRdp3wu0LUA+QLvWCZs6KMhpnKSFQErDJSe8QKtmFVmOm9Skfis5TMuGtvnXJg/v3bIW5Dm2jV9DwShx8RyKW3aRVPZFe/F/Za54qm1Xc4un1BkDx6YjJd/BxgSZM= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 20:dhBPmTntWPozgHez44cDof83pPcoVVEsUvun3hO/rxp8pvVkBQsdiNEw26R+IGevxa9pWcN90T4RAaBydD+ua7XjCN7TirpjrtopXOqlwImlqswxgr9Xr9uv0iwCmHXxzfhR0Zh40HBndC4I8J6pmAVvvDz65JpGI7C5ReaMUeGTerX/x2r5c9t+l0nXXN+l9KNl7JjPyONIRS+U9N5xcrrvVYw8ISXyTqAVhUCI6Kt3HP5XS4E1XVlH7ZnWshDIWP6sC5uZQKl1DjSM7XU2x6cr1oEdOfJHxYii1AZoKBQGxgb55w+lE2mzJ0BXV7worGzvxOBVw64+YWYbyl1LAF6eWKPuxOV8v9Ioe10ke7gb19betxOr89Qeo59gITtdGS+lzWsytEa5Z3aSSo6Xo1nnnltypoVDZU3WAJisiDDg6oC2fwa0olOTrydfsz6r7nUvFi6GOgzaoi/0QbWbpE++RXyiD2h2JRCyWliK9Ie59xQYvrUO93ZofCU2yNzbufbC18T0hT/tYpLQZKRN7u78ZBQSqUA1NjhIgYbmH0GZCn8NU1MeLtDEf+pWrT5PVqzlqrYTiG0kPVEn4wJHUkwgEtjWAvVp4yjWmZQjVCc= X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(167848164394848); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(2017060910075)(93006095)(10201501046)(100000703101)(100105400095)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123560025)(20161123558100)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR07MB3095; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR07MB3095; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 4:w4rd/5lODs4fl9D/lY7pg959KACTs/FFvruTRrwxzp?= pNQE5ObwiVqLAxaS5L/umHojrtrIX0QHP9SEjWuaVsm/8E6A1++6pfvVgNCCKzGkKhbGYTaDNtgLmSBSkDiCwcmAIs7buvskgpulKkp0hgT0EDz0wv52JGLdewv4nIYYsD6Efut+7Qd6t5bIY1k8I0RJ6z8K7/t0tgLLRnIIdoZmqYXFQ+kkgqTP8rIvNEQT05q3HJp913BdQjVctwc6jBr1jD+Ucyz3dftzbdqiCqGUp+PtjuFdgxPom18giFHe4aDraTqdjM2YLxRXzJPR8L9BjU2cC5L65iOFRF340tgL4rrE6REJoaAp8X7yTSjcPEVdUXbcVMc/8nnnlbTTmQZVn3i3WiMRT3NLcdq6HPGY25SwgQyu/g5rK9XEI65ejgbJW1P9yEuPoVPmudiG8YFC7cA0XOlUIj5nh85zmDEuGU/Ok2lBK6UwQKr0dze3g4a+m76lN8XcAPxDWwQIgO1byrjY+bbrZcjB57M0UsFEEpKxoZoDo9WjkmlPLhIFcLkxpk8ZDFpDlil8n21kLziOC7JX+ICC0vr2hHOx05lk8PJktmxTSZf3eq2FXcWbk8DmDb1Bz9c10tQulUolbB2DKMIIm5Wa+eMBsllYUgMOMrVsseqgTm3MsnaEMvaXE4RD/yh8zvak4f5mB7kuvmZNUDrrq8Hplhc3MvT7P0jiX9SrI0PmZq/AwaePe0PaBxTzii+Lu3857ycsglsIpyiTbTkUV7UBCciO90AhEjIx1HeWWzzIuqxUamuqgXoSUwKSXZATpivMr747ovkmOiqen9sNtafbevjbyoGBI9vVZunZQsnZTWFRQ7S01s+WAufk+pZ7XYpXcUgYw3I0krPfBLMaV3S+GZ6J68TD6ytGkbseqr6d3gOu1odWqmX5ERuOsa0hu2cd8JC14sBPdxN7Gz+PowQp366e3Df7rZIIfnVtWBIxvLRwidMexaWIwcTQq6AFT3NEaTCsjrCo2hBiwr2Pe0NL0wpHq3Z4DkK8m8z5LdowdjTtn2sghqZD1iuRJsS3ZHoLMSV46qwix6XfisGtVaE1n0uzjVJOcBA7GRRfzDHOYzlbxEdA4awRsFX0arWrH+RqKjIPclJGd3ZuEY7PgUmOdLqX++nebazxmm4+xgdA7sXvjKx3OniwjTXsJI7fKKUhzCzw0Ex08IBSSgDpwwKC2RvRU4EdOjRA== X-Forefront-PRVS: 0374433C81 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6069001)(6009001)(39400400002)(39450400003)(39850400002)(39840400002)(39410400002)(39860400002)(6116002)(42882006)(72206003)(305945005)(7736002)(15650500001)(48376002)(2950100002)(50466002)(6506006)(5003940100001)(6666003)(7350300001)(47776003)(575784001)(189998001)(478600001)(4326008)(110136004)(6486002)(5009440100003)(25786009)(66066001)(8656003)(107886003)(38730400002)(50986999)(76176999)(2906002)(6512007)(81166006)(8676002)(33646002)(1076002)(3846002)(50226002)(53936002)(42186005)(5660300001)(36756003)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3095; H:localhost.localdomain; FPR:; SPF:None; MLV:nov; PTR:InfoNoRecords; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 23:6ZnpABT/iIgnKKakF2QgIFiICgmx4c9GtOp1Oar5C?= zrUq3pg3H5o4nDng23tn0HNghUk8Cv1MSrluqE8iEKG/dJbqg+h2IK5N3/x0K4sKJen0wk4pw1f1zW7U5hOH9J3FTvgvOznmG6cGDB/D5JDFd8idXzdzxuzp0yrlG7i7C4RDlq2OyfBbJsh97yp5m4ZtgCMESgS9yEinubeKPt53yCkWucL30sItwld0GHyeAAUOb1klKsdR8Vd7AG32X7sfBTJkR30GYLeN61KruvBH/DRQJMlna6wLcCZUeeV3F48yqyoHhlwwKfe0YxR8qE5f1WR+/vEjM6a6YBg53lT/mLQ/g/IkWZXgFjCI3XGaoCIDlHFMV6q/5gLInh2iZ+NXYt/zKDJxbxwhPHX1KWD+re2INHtAdpJfEFFajrA5xiqO1D9soonddd8yxYVl8S3zP04+CfL9NddeBHJlhK4MWIJJfEWnFst+w2q9NgxUPA0Uqp2UpW08qb9L9Q7ATsAjZ9bL7decpE6xWh9YXS05Da3B9fsohXUemmgFV7JwMNXHot84UEwAw6SOJn+nfBhNTeTH375k89A4NAL6uHaSzc4aqxzRYt8tpXgpM7iSKpXPBvJ/lj9eZxwk4WXbecRlstvqFARPgWtur22vEGlGjlaXE57C5t1iK07NYT7KTyFc1CYeFVShXE2LXTu37z5fU1JZIgn/Wns9Xmi5o11F0Yg8hwZO90gq6PZw64quWpXc4IorCAz5TmHPHG06nF9U+2JWYioxg5NksTJIs5Rw+6O7EJBTN+jf1ysUZgb5331veTsiaAsQAYNn7Nyh8XzvT2Q3QEFuypbND8cCt6pu4nUOUM2/xvYAZfVHw7fruGRrebl9xUstu4G+rditeR8x/MsPRWnzeOmfGdwIoqzc84Dg2fMb/qnHhF7sIkIzddh3Ola8kH7ETMWdEZk2VS4/lGbKpYRyo3CRsEppMJ07ah3xsu8Al10EuJn+u8wDSb4NcVn05OPnvM05KERsvN7yx2uEm8o6JPvtARW25hkvRoY72Cs6mk4GTpMFAJHaUoAN97Hkr6pt3/9n23tQbfnfbJEqbgjnoaibP2fqGgTAr/7i8IR6vLXiNIQDXiZ7DnQdC7r+kWYxu/ktSsVN1GgzvaOZMTQ93YyLC60UDx/kM2Hbl/N1fGjgbtc2A7am1q9GIGU2Fssn9lB94jp1s39sdFAD4x8Kc/k/I2NQYAFrChM20OrgOzGWT2/OzdJoNLREW2Dtsi2Sgf3UfSr271CkeasMgHa8Aj2TtP8Azy7Wg== X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 6:jlX3BBudcIpaJybDqkQJA/rAdUOsNq4mC2Gxyx0MGn?= wdxCLs0bLdyuA7aOFFyhIer0zM8ecqrjRSMIWJOIQ40cV4BnlMEt9xa+hVi/DYXIg5UtyNGMtM7kwSUI2fNdhD421lIKafKjGiZqbhYyzqYtNJ+BYumPGpqRDgyY0yn9x//4J7q0LOwfKiezujWskPSVVsa7dKcvVFb294voFvodBeAS84nWaX93ZY5wHl/muWRo6UOSZ0kV82IzMMMqbDv82JMHfr4Qh7Gkxd9KLG5zYmlvCEpA/sDBODfRY9hGmc9FMczyjruiySzFXob5A7r7oHw09/kwA2NPqeeVX3u79MEpvUTL7PHxjGRueBOHZ1QAugqkBHMjLusMVZhe8+iPRGHLsRI62Rvze3/7ICPscS9dqprt+oV4AGd6wSQM529b53loz0E2IPqxhcHsG55EAID1DGYlK7JFxkNx6ukhF3K9Gn0dB6dZI78DdHoCFQvoMWUNVT9muQbafWbPnYgrLPpknrqWdeejZeUAGfcxOv8t31oxJvzmcveyaJ+Z8IRxL9Kh2nCqVzmWs33YOXbq8yDciG4t/yIh4IsjxXWG1O4xRXY7/kOvQOtbttF0+m4qZMWALi2Gu3NV3fPTbcwJ/8hzoLHITu7+hTcxCNuS0ILFimC5kiPr4Ih1uFcNaWWumANJ3gba+VsmepJR1jfzT/lIgOl0epCy9tS0OOPikBUJNVFfisbAMc0ctaS6ktsx/t14mkJxgo9ssQoIPqVW2So3xNHhcmahbq57qYs8sPHyQDBuAyiKvSFJ+zb5lpAVFC9qxwAy+J4ozlfGUZxqCuTx/EaS97x5QETFave1jn8SG/Z1gh42qxDxCBx8mf9CwelTK+gbNXdhfwqEbGK4xoRkioS2cx1F/pH2AUnyy3OfuQRFSMAoUKKHm1SNrt4E9IYnGZzuYd+eRaBAFSVG12/6oZT77fAH5Nxt3oYEl26Ku0UgnbvvdqWfktTxk= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 5:/jnrTOeYiq2iV+ACZCkJeplARdz8BaWr/W0hlmoabUC17gRSjhOiksEClLPzY+YUJoeZgZGMoMSIJtjcxFazGZKQ0pJgy0897bgi3VAs/bgSc7d1YF/Mqo5CbqRAP4GdGtyeHVGiErPjSfE9fuUOpIIcAbRG5CGaeBp2zAr8KKLiwyGANB+NP5+LZvLdSdnXFUWPMwcv4GNTbhMqMXaaDRUrlr/f2TkVrg8BWQwZz/2E0d/V0MxEh/rBfWCXPZ1SNikXT5gGnFo1tfYrfYwSl2pu1BF8cuCYQj0DcAtmxI+IRvPDUEDOWEHb9lDHb6gtU1xooe7iwYgdQj8fyB1XKNOE2TOZXINOzsFM1hicvVS2lb2HAciMKRdi4mcag+lJKg5ORHnbcAPS7Q4uAJXHl4ZO1uT+hE1eh7FW4LAmvoch5eW1+9JGNxEUQHSG1OJ1ngCxKsPgTxLMyhdpzqXOzGt3k/zohT4m/d9hjd7zWFHRe19pE38lwPURsxZQbhek; 24:S+z7yUmO4ELUiFToYL/QSwKw27H8htKoYoPiJt5+WloR667HbOXsahdkAGAsVxqL8kA3/kp/zyoGmtVi82KToAEs+rbcfSwA/v2R7XrHNKc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 7:BpMXqojhaOpOPGyp8C5ObmUVdF4nD7YJdBGK4v/r5azS56bTzlYeV6TXnikudpRlqgAlG2F4Czt65lr22pn6mk1ZMg6BW+sS4Ej4WxIFvhab1uwWsh827Rk8PwmZx4zKVX02o8Q21KHJZp+NasWTQtQT1ooPSiJMoASugx5CgfMBTMEtWZc07DXlXAdARimcmCpVH6EKlmV7IQDGJ3TWayH/3Oi3HB81QY7utuvhLKfY0oQ1JAj89dhcLkm9pe2YRmU5yEqe+C51ZJ+ltLPLyPwcLMbWIp7lAGfZBP7D6mbk23CJzzaedMkgsfWfEyFZ3IWsxpU81cDVthQeV1tHtxBZCuGcN2HEeziHk3JFhY9Z5pYuhTYj6/92ZTARXJ2rs/aRHFbK6Y7lp1+Av3QL3a/Acnu6ZvcezD4a/VY7EGp7WuuIgahu+6Fgk9sRIBCB+4T6MUHZpv+XFswG/BGZhcVd5tsNgSzd3W17oUeoE7gJ10BkWiiCEk9/2i9vEwPnTWVKEOAMhoAIHnNyRn2MKiCIx7BH1DOz2Gq97G2Fk7W8yqnuUISH9VjTH9RlsLghjzEKY1AWseLpFDzW6ZXfS3uLUjADolf/msiU5q5YqruXwsOz49xbZLQsdqsWJ+S2OcxwpQ/H+AmjwUs/9rPtKWMd04qCHfYuY1ZySNyhIr/5AaiMl2RBzIhHfTdJggUDYN3VlP+og1CmRp5MmBLHBFn01qAI4zifFBPTyZkzpCNdqd8RqmQExQwr+A/Cneyco5F1olIn4bj+1H8gvNUVNRAs2EpZgkMsbeKEUSK6egE= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2017 13:49:10.7443 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3095 Subject: [dpdk-dev] [PATCH v3 6/6] mempool: update range info to pool 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" HW pool manager e.g. Octeontx SoC demands s/w to program start and end address of pool. Currently, there is no such handle in external mempool. Introducing rte_mempool_update_range handle which will let HW(pool manager) know when common layer selects hugepage: For each hugepage - update its start/end address to HW pool manager. Signed-off-by: Santosh Shukla Signed-off-by: Jerin Jacob --- v1 -- v2: - Added RTE_FUNC_PTR_OR_RET lib/librte_mempool/rte_mempool.c | 3 +++ lib/librte_mempool/rte_mempool.h | 22 ++++++++++++++++++++++ lib/librte_mempool/rte_mempool_ops.c | 13 +++++++++++++ lib/librte_mempool/rte_mempool_version.map | 1 + 4 files changed, 39 insertions(+) diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c index 7610f0d1f..df7996df8 100644 --- a/lib/librte_mempool/rte_mempool.c +++ b/lib/librte_mempool/rte_mempool.c @@ -363,6 +363,9 @@ rte_mempool_populate_phys(struct rte_mempool *mp, char *vaddr, struct rte_mempool_memhdr *memhdr; int ret; + /* update range info to mempool */ + rte_mempool_ops_update_range(mp, vaddr, paddr, len); + /* create the internal ring if not already done */ if ((mp->flags & MEMPOOL_F_POOL_CREATED) == 0) { ret = rte_mempool_ops_alloc(mp); diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h index d7c2416f4..b59a522cd 100644 --- a/lib/librte_mempool/rte_mempool.h +++ b/lib/librte_mempool/rte_mempool.h @@ -396,6 +396,11 @@ typedef unsigned (*rte_mempool_get_count)(const struct rte_mempool *mp); */ typedef int (*rte_mempool_get_capabilities_t)(struct rte_mempool *mp); +/** + * Update range info to mempool. + */ +typedef void (*rte_mempool_update_range_t)(const struct rte_mempool *mp, + char *vaddr, phys_addr_t paddr, size_t len); /** Structure defining mempool operations structure */ struct rte_mempool_ops { @@ -406,6 +411,7 @@ struct rte_mempool_ops { rte_mempool_dequeue_t dequeue; /**< Dequeue an object. */ rte_mempool_get_count get_count; /**< Get qty of available objs. */ rte_mempool_get_capabilities_t get_capabilities; /**< Get capability */ + rte_mempool_update_range_t update_range; /**< Update range to mempool */ } __rte_cache_aligned; #define RTE_MEMPOOL_MAX_OPS_IDX 16 /**< Max registered ops structs */ @@ -531,6 +537,22 @@ int rte_mempool_ops_get_capabilities(struct rte_mempool *mp); /** + * @internal wrapper for mempool_ops update_range callback. + * + * @param mp + * Pointer to the memory pool. + * @param vaddr + * Pointer to the buffer virtual address + * @param paddr + * Pointer to the buffer physical address + * @param len + * Pool size + */ +void +rte_mempool_ops_update_range(const struct rte_mempool *mp, + char *vaddr, phys_addr_t paddr, size_t len); + +/** * @internal wrapper for mempool_ops free callback. * * @param mp diff --git a/lib/librte_mempool/rte_mempool_ops.c b/lib/librte_mempool/rte_mempool_ops.c index 31a73cc9a..7bb52b3ca 100644 --- a/lib/librte_mempool/rte_mempool_ops.c +++ b/lib/librte_mempool/rte_mempool_ops.c @@ -87,6 +87,7 @@ rte_mempool_register_ops(const struct rte_mempool_ops *h) ops->dequeue = h->dequeue; ops->get_count = h->get_count; ops->get_capabilities = h->get_capabilities; + ops->update_range = h->update_range; rte_spinlock_unlock(&rte_mempool_ops_table.sl); @@ -137,6 +138,18 @@ rte_mempool_ops_get_capabilities(struct rte_mempool *mp) return ops->get_capabilities(mp); } +/* wrapper to update range info to external mempool */ +void +rte_mempool_ops_update_range(const struct rte_mempool *mp, char *vaddr, + phys_addr_t paddr, size_t len) +{ + struct rte_mempool_ops *ops; + + ops = rte_mempool_get_ops(mp->ops_index); + RTE_FUNC_PTR_OR_RET(ops->update_range); + ops->update_range(mp, vaddr, paddr, len); +} + /* sets mempool ops previously registered by rte_mempool_register_ops. */ int rte_mempool_set_ops_byname(struct rte_mempool *mp, const char *name, diff --git a/lib/librte_mempool/rte_mempool_version.map b/lib/librte_mempool/rte_mempool_version.map index 3c3471507..2663001c3 100644 --- a/lib/librte_mempool/rte_mempool_version.map +++ b/lib/librte_mempool/rte_mempool_version.map @@ -46,5 +46,6 @@ DPDK_17.11 { global: rte_mempool_ops_get_capabilities; + rte_mempool_ops_update_range; } DPDK_16.07;