From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0056.outbound.protection.outlook.com [104.47.42.56]) by dpdk.org (Postfix) with ESMTP id 44E642A58 for ; Wed, 5 Jul 2017 09:48:19 +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=2BucMmFMtIEUWgQykXoZobDnsnp2WUNg7Qzx0lq2AcY=; b=bloNaBCwFSbiacXeYNfWU82oqTycW6FaERF2Gu6xLPhhVcN3JmKVFomiBP32VvD79+KgebWAMfSTrJCt+3IBvuWI4Fh+CqxZAqklQJYN+fg6TU/htJXlvaZnujvjQ1LhlUOgkohgsOCSF/NgMAJlom14L69vdL0EebrjGwVqpsM= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=caviumnetworks.com; Received: from [192.168.1.100] (223.180.17.81) by BN6PR07MB3090.namprd07.prod.outlook.com (10.172.105.8) 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 07:48:15 +0000 To: Olivier Matz References: <20170601080559.10684-1-santosh.shukla@caviumnetworks.com> <20170619130152.GA29671@jerin> <2e78b067-0a4d-a40d-799e-6137972bd7a9@nxp.com> <20170620140413.GA16157@jerin> <20170630161246.2af345e0@platinum> <16812056-cfa9-066a-6323-aa0ac7dbd9cb@caviumnetworks.com> <20170704175922.02b4d916@platinum> Cc: Jerin Jacob , Hemant Agrawal , dev@dpdk.org From: santosh Message-ID: <6e8373fb-6e75-e5b5-e5e3-ea781f0f3cf3@caviumnetworks.com> Date: Wed, 5 Jul 2017 13:18:00 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <20170704175922.02b4d916@platinum> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Originating-IP: [223.180.17.81] X-ClientProxiedBy: PN1PR01CA0113.INDPRD01.PROD.OUTLOOK.COM (10.174.144.29) To BN6PR07MB3090.namprd07.prod.outlook.com (10.172.105.8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 42682325-c4fa-433d-cd93-08d4c37a32cd 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:BN6PR07MB3090; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3090; 3:Yh7dErSdH5E57Ex4W76MucJnI2nIdr7LdEEo1zReaAkowKXMe7E0ts35oEN+ahP+RqEEl3KOwkmHmLXIr1KUisTI72kgy7Atv02vx74hAcOzLgAxYNyr45FMOKDDM1EDQKa2NvPYjKWXe4N8oNUC0jR0DpW28mhB3up7tJkp7TrnchYTkqj88KKYb7lfOYbTHt3rMzdK8pMVGZ4o5I45+ZcyYsiiWjhipxgnYf7BMjZ4pEI/m8p00TVW4Xb0w27MLDdDv7iy4c4pbAIjPzdSuEc+yVgAUnCsj29am+BUc8AvXZ0uT/JRLUpDCA42+VoE+V5azRwBtFKUYygikCUrJGgrhRJ2pfwk8Nv+PXc2ymZOuPAAHU77RJqqKdoHsDGNeQMJ8Otr9NS7luG+Ie4WwFdfkp1eflLqPV3mrwzRn9bEWamSnEzpm0H+d5Olz+8CrcEvy7Hwr8Ne5EH/ldWyTlJkpo1pyrww6siBScajrHGoLIBxR+b9CkizwJlu8T17WWoNsNVB2diqY3Bu1w7pUAklcRUlcSqkvw6iYV7XTO1CcBU4i6XF9yAolV2sz42+8CNvsHeGyTktx7+HhvFFev61juT1FQYExC2b0UlpFIU/QKDuq80ZSXvzsyOmfAgqLE+xxiDkdhh88djCHzdjqVW2QXeJujB2mv/WLCuwjD/bQUq7Oy1sjSigG6ZkzNMinyyHepVJNU17oq8VAXFTIvYLMQP9IlwjNKmbWQlBBdRZAlsBEdfYEs26aDPuKTSI X-MS-TrafficTypeDiagnostic: BN6PR07MB3090: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3090; 25:2cN+MxmnUNv7+Jjn39VSfO0gvwSRzmA+iHg4zi2b0C38dq5UxTIgDQ85iNfiCv96IpTpi9w93WEg/sV4oV1bhiry2hNiWD4rfcmM832UiQXHpiDq+MXfewJwzE9gBgpC+rxW7nmpsXKKh3UbZ/YjayLm3j5+jqUmrAxxsXFP0AW05xEdoVT9dUBDmPY4sbmAFI4hECPB2K1ejAO3QORZSdwHWwdceL7YajLafouhBd4ceNO1sEcFdEzJ53M3Yv1j624H1mcMqilC78K/oJdBZLo3X1xVTqOaBPZLyWR9gBnmhjFNmDSW76G5e1y/srZxcUSswmftIQgfktl5onL5Ia4Hgp+lpLI+hw1ccHkTu7Lx45bhrnelQMYSUjT3jgPJSytroQC+KvbJzOPVbidaRfcznOuYZC05KsZC7eeAzwlWaNog/lUcBITmyNMNHVj4g9LmwsjfYIaiRRU7Exyu07TF+GtB8im9+N9Lq+DjEyY716lXWStHvq6D7Dk1vi5Wm703VKYaN6B3jcnLFjuOXSnsGm2J6tSz9+NHdQG+m7Px5aizth2SKEFlcCk3ExA4FWoOec0qlgzdzgFLSdoiF7YZxf2aZNX4L0QxKMKJRGLVNBMVApU/l0c9mv66Jfznhr+ltPJDANTGl2b88QR5r8P9p4B7MgYSK4NpSw5R2dYLOAU+V44TTYTmwinRGEPgY4C9ZerOkjpnd3ib6e06khGiUyRrGrF3thFCwQxnjGpBEwQZ25uFaJztjwY0xsQ62Dd6ra6XqWCIg4HcpEX3kP2SccSCK4Ac/M7FqBAoT8EJdP1puNO1QZyMeR5JKSarZE9NEclzjWF+dIpEV0r2zXffIjxzDWhgFd6o3qh+o9g9jb6ckA3V6QaWpKcW8/pEuy76xQ4VAlVVfYGHye+h2knRbD5ZGeP6OBQVWL/6enc= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3090; 31:q5MAF+FhYMsH46C0KqNonvwoIOVECGbezGfqjTdhD0dDhNE38wOwFGZYPIc5HklcgbF88ig68gjPcIYJe2KviJPRLk8XSBoSDxuNDW4kMe5h9VZdDqjOBjdIfTS0/D2LUqmQMoOEWv/4DuZb+BbkmapnLt5lfWci10Wf9ItTejRgQejEH7hj0E2XIFQenh3RygIexRkmCEzhXp2PtGSC8p0YCDDJJ6krXOwfknsuBEZbcEyUJbTSQmdtgKK9fafXg43x+UF191JljUHQ9pn0rL50RwmfjgpcQ32qyZmqakt7vXI0m2uBGywItSuARxv51Mbs9YCZCK5iqBGeaQAmR60k8RxcwWIAaKZnKbR8ixEvb/P8vlUT2Y573I67EyyOBo4YRLN9nRC7MoQVICMaOZJQj2PpZ5FMdUvS+bb/umR5QP6oB4kSTlWmoRcjkOBay2RY99e1SXlFGIrUWAuDVw3N19jvxF6TJVUmLJngt4E8Ko8V2TKDr5WUGn39ODNRPpSpakDndYUDOTBj+G+halvjj2qycEtUbaZYIp+GvRREwaWXTDtO//4tj6tZhwDoliLn05E6swlN1gLO5gc3/rhGWZ5+dgtexlAm71qF/EwPxNRfRC76wARWPDEWknQp6JVxrap3E4N46JAF6A1Qw4prHBAouTdPoFAjr4XuTIo= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3090; 20:1eKOj35Mr85y9Yh0l2Qaa/jYiNuagPEIk0H4lscufzcslv2yCX6TvUoZMnPrzTP0LVuA78ULYLik9/ZdntjaQD8MFcHfvKsXOxHH6XY3oZkQ+p6dB8f3DLVRc5w/cI1MuX4y9zc4dAexIqeDcxNUEBboczLvRK46XiXa3K3Cbb//4F5n3nefx2Ew5JY3ksE9TZAkKbvfAnxPURwnpwVzOnqwoVEgF/gspllHtQ8WplPN3p5th7vmbf6/5tPivUgiZPZEXDu7QiK9d/rDETw+TtfTAJEBbCPDOdRNX82AKgHXzAGawc/0CvslPf9htiJjZVOHuBLXadcV+UZJA0LGJnMcZzWTagV5b/j/7k2ltmndKT3YG8hacXWQsIHt6WuKKoDvXoNpkxNBFWMcjaZVKAwTr3n9rKzBJCW8YDd3HZLi3IQq42Gd5fk5TJ01QCP1ZCf/5i19jO0M4XYTXR+Tpc1Hl2nGfoWXja+Eoy6E7pjJQ8IvLjHtoOjNZM3VaM7BTPrCdBrMSw2Ysti0ex8ThpMu6uipBm26jnfKgJj8T4oJDYKkUOCML74YkugUm35Z2069OEyN2pgqjZNls3S14MUunIQNC94zptTHk0PGRLw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(185117386973197)(48057245064654)(148574349560750)(247924648384137)(17755550239193); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(100000703101)(100105400095)(10201501046)(3002001)(6041248)(20161123562025)(20161123558100)(20161123564025)(20161123560025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR07MB3090; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR07MB3090; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BN6PR07MB3090; 4:aO37pmJoWBh7mWnA8P/zYc1uM/C8NBL6ID4R58?= =?Windows-1252?Q?Nz+LmuhrEC4Scq6GtDa93QNPbKMysFTmiHYfKQDb1taNBFZNKqbiGE/J?= =?Windows-1252?Q?UURe4ISP9v2Ktil2l1gV7cOgoWhqueei9EI+rumeZI/mjhIKyh1LfqqF?= =?Windows-1252?Q?8n8FlJgoqSaMSnCYWNtdoY9f+y9/66uXIyPzaKmtHfOBltZvK6Mt8GnI?= =?Windows-1252?Q?11yQkH+1xbomb4nJkgTH7O3iRNfoAVIZdbmFgvuQQYAhpVhawy8/IbQs?= =?Windows-1252?Q?b8Tl8ekZz24lkg+dK7HWoJG7MwwNMf50BNMfYbln2AtQoTgImo/yKl+6?= =?Windows-1252?Q?tRWUucIDQ0BD36qQB7ZiJXTzCoSSN4o6C5O9SH1X1QovF1OZigTm5eME?= =?Windows-1252?Q?BuZlVnbqXXDNq8DS77yycKj8Ky7lVBuE6GzluUofWMiGyRP6uKAIatY+?= =?Windows-1252?Q?Wj8+trqch/VVIlUVU+nZPsSbNVkb97mf+z6N3JFt4yJiHCcfB2zLG/t4?= =?Windows-1252?Q?y5eXVYPov/W8icsvfS+2arTLrPHk4hJ7Uaqc3gPSs5jSWd2kdeLCAvLT?= =?Windows-1252?Q?NZ1LLl6mS7U1uHd6lTZcMYKDOQXBWlMqhB4LzExDg5y510ZUZVpG7rVb?= =?Windows-1252?Q?qCLKAvYfy/hgfhO8L/Ov6Z6ah6L203Ltf7Sl1M0530GEhaxaRt/kPkrG?= =?Windows-1252?Q?ZEX/0GB8nVRk7JczPUmBEw+S+pguU0Wpq4KOqU9JFNIRHCPD0f+WFozZ?= =?Windows-1252?Q?Iydm4iRg+H9B7NJZZR2kkF8PBgmNiNSAeFaqVL4zobr2tt8u+VdU8/Br?= =?Windows-1252?Q?OHIPRnggD8kwZsSaNPIDl3ipc7KKPqB/qmjUyWMXoVdDR01kSNH1/Jrq?= =?Windows-1252?Q?ERQZOC8pFYS8Fv9fOV9R5BarwC5l66I/n/itNm4CGskJwvvSNP++GdNR?= =?Windows-1252?Q?z1tdKjRazEjxPs27XES/Olh8fceUkW3M43RfLAefpls6qnOKtaUYGwde?= =?Windows-1252?Q?q/dbanJR4c1TCWfXn3zuszvaBfOwkf9uG6w6RaEHecU+lYpXkWFkrYh0?= =?Windows-1252?Q?38jPstze7VMS9sfUpv1ofjxddlG03FGSnSsB6UTR+Jo7B4eYt0zLecew?= =?Windows-1252?Q?PVXH7l+3lN+eTglza3KK1GBMe7hn99RfMXIqXo/HRFbpkyROs+vreIu2?= =?Windows-1252?Q?Mhh+V5KkWbylqY8Kh0ufUxsZQNOqaSgzXQsbsq4wFWIZcTD2k0LoPkVI?= =?Windows-1252?Q?1JYkKTOfFsozXfbv47LodJdIT84UNKF3FQ4c4BVsbD9qR9vQ8U3JC1Ms?= =?Windows-1252?Q?aOyIMp7u2RXuF73926xpb1s46UDDRETic/zPYk3ZMfFNKDIuEU6cBPCf?= =?Windows-1252?Q?9//JzVk5W5+gtP2kIZo+lAETtfb+Ot4xBfRFjfP6fyyXCsPNiR0gXt5t?= =?Windows-1252?Q?rs/DAjXY08ThCadD85vst39VB+z8Dzy2E4ZtXb55kxNpKvATkDQgoAkr?= =?Windows-1252?Q?kSMnw=3D?= X-Forefront-PRVS: 0359162B6D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6049001)(6009001)(39410400002)(39400400002)(39840400002)(39850400002)(39450400003)(24454002)(13464003)(377454003)(229853002)(50466002)(86152003)(83506001)(81166006)(8676002)(31686004)(93886004)(54906002)(6666003)(66066001)(36756003)(478600001)(42186005)(6116002)(42882006)(2950100002)(23746002)(6916009)(3846002)(31696002)(8656002)(2906002)(33646002)(53546010)(305945005)(6246003)(189998001)(230700001)(117156002)(25786009)(110136004)(47776003)(77096006)(4326008)(53936002)(5660300001)(38730400002)(7736002)(50986999)(72206003)(76176999)(54356999)(4001350100001)(6486002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3090; H:[192.168.1.100]; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BN6PR07MB3090; 23:m4U+x30QqIuvRNVniJUWDKAjnWAOtWLztHTwg?= =?Windows-1252?Q?E6OUdn3DsGb/cwMe97Gt6AdgbdWgmYwiWHsoFD11EK5ew0+Feme7HEWK?= =?Windows-1252?Q?9Qm1lmGPMCYN4G4efDRde73vhHKu2fbrdoSdpM9eMSPc2FTkmyloh+Z0?= =?Windows-1252?Q?19675R5dbXSPb71J5+jkqRb0/U2b5CQxBqUXck+bZU39B8b7WE9gX72H?= =?Windows-1252?Q?o29DvEuV3wvv/cQCRgBulq13eLfs3MNS1+SQfT146cGvYgX9gO4A3tX3?= =?Windows-1252?Q?F4dpdGSAE96Mope9I/pWfv2nW44/6qCiCxGo9NoAYUTGqoZAJIFePi+X?= =?Windows-1252?Q?f9oP0UBWJ4Aq86ErHh29FWnSc5KNF9fmlmvq4DnJJv6tu/kwe/gwuPne?= =?Windows-1252?Q?w0w1KH1Nq/r3MPe4rNuUH/1lE2srZPPuk9MEUXbro8XA/e2XCBBzDYrb?= =?Windows-1252?Q?aU5wBrCsYqVUQUkH94M71OzsWBXKARHUuVaTQcMFs5HdmqxfuVWuKNLT?= =?Windows-1252?Q?QM+1l1Y0ZGFz9eQ6kFDzn5SItadsMor5Ez7AjvUMyDtuXqfRQB9HwnL6?= =?Windows-1252?Q?pzpgwhuwFvz/+DXXqDzhwxl8bOm2mHfZP1RSPtSas3NZP2Hd8r1L133A?= =?Windows-1252?Q?IYWiKTiocOJFJTIuL/X6tFAFYu4VPktgcWbVZoELlmrAWdAhcR3zlL6S?= =?Windows-1252?Q?9vlcbdSxnIAvH9xRgYYDVdfku+oco+EawV/GaNVhpSuamZmx/o1KHWWX?= =?Windows-1252?Q?WnKuvCUcoI25scB1ylkOf/EuJDkubRZJb6NrYugBltu6gx68nzccvRWr?= =?Windows-1252?Q?sA1BLVnaM3kDr6MkXfJGs+Hs2IpkNfuCOI5SiOXtSuoV5/6YCwR89z15?= =?Windows-1252?Q?yRLwPGnwYpi5y336V76Y8Aoma1nwn/l6ThJfKT2KqLX4PQtG1L/dQnQN?= =?Windows-1252?Q?eW5VmMc3zZswhQUf1ycI0FWnqPK//3eam8kt0a1B+r0gLH/j3XBpu6RU?= =?Windows-1252?Q?9lrET/5qgZ/gSEFZ8wzcfEf8pfdr6y1UUXHe3RDpy28RY0SxTZkJOZSf?= =?Windows-1252?Q?eNFXBp1xki50woc67YKRBwAEjAcsOjOzQkjE+mtTGD/VgOLVaIlju8LP?= =?Windows-1252?Q?HTIgeQ59UgZR1BGmGazAVYec0jRWeES+IfkJkVJTiPOhDys2hDAj8Uwi?= =?Windows-1252?Q?PoBwy5urZY43I7V/8IHZ59Zh5wtKepWa6z1W4IRlOd9RVo9a6rNCg4LB?= =?Windows-1252?Q?428Ucff9Lo4floVBZycwBuzLvNnKZoP/B0btJe1PwVwmzkRwgwHzbtVs?= =?Windows-1252?Q?PNePYucQSkEXt2CzNdRzajGhc2au9Omq3vhyAiMKB6itsBRqyXVI0Qc+?= =?Windows-1252?Q?92Tb2mGnrp+6+inEyT5PtpKm/nwYvCib8cTidlIfrea2hWn5+G1y3LNa?= =?Windows-1252?Q?iYgkaLRB0CkgipbDgoti6KL2b2HytSeUHSkXOvc3jLBFUgUf+Mrj0WHr?= =?Windows-1252?Q?AZKPHc=3D?= X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BN6PR07MB3090; 6:34agy4lBQBxJ7uL/SkD/LgUgOU5L4OY50SZ/w8?= =?Windows-1252?Q?8iNIp4j5rYCQAu1Jo7CjtM955DLQvl/0BzK+USsBQZ+AZr42yCANkwCK?= =?Windows-1252?Q?l43YjeDaqvkD//3fDGvf26EWTvSURmtNWKFtqY/rRxuynp8MiZ65qWVG?= =?Windows-1252?Q?k2Xzn//Pbu0Y1zxGsS9SuhsvhCbJIXt3LPRt1cgGRjENwZEV16i7rKWA?= =?Windows-1252?Q?QTccz1S1I4dL6HWqloUfYg5QBh9d18pj58EOYNMoCB6KsGLrlDj+bgpS?= =?Windows-1252?Q?NgAWjQO9OcdlK/52S4fLHtODNZOzgIN4yFYsQLw4zIsGCVZ6lnwJg4qH?= =?Windows-1252?Q?InT66JfOQ5AeRUmd7VKu1ov5KAO88hiYqFQgN1f9xw8xWpx+umUCB0Jz?= =?Windows-1252?Q?ma3r3+4XgABBA2OEpdKDbj/y1TJK0QD6siXOVakF8/Tw6sNK7t4gMN32?= =?Windows-1252?Q?14dmMENDpk6BZ6qOXin0OooUs8IpNp0IzVOCvWkXYlhb7KUBBin//ADb?= =?Windows-1252?Q?b5Y3Qht73G/tA9oTRiWqt7o1z7QvpmW2UJwOiHsEUe3pxcKdqKtxwxWQ?= =?Windows-1252?Q?2qY/oOMkAAJIQjDKXgZu6XVXdnTr66SqSvWE8fLLvmvFIxYkCAYHpkLu?= =?Windows-1252?Q?cUs4ftQVnyiO0xEpxfuGJKKwpxxponrgvWUE8oahjqfOJcQ+SmwTsgir?= =?Windows-1252?Q?WfEz0ktT96XyWLdvHZHLyzJUV9IX1FQSRF0+9SiMBpsO92UOpG5tOxSL?= =?Windows-1252?Q?vJBkAzc4Wj5nFSqqjHry8JCDR2nqru/jabgnar5puSIcGRsIn2tkYx0G?= =?Windows-1252?Q?KTysYyAjKt8/s+jNd+lfnJ3QzkPtRTgTZmTSTF4yrMp0rXsDZ7Zfw2RM?= =?Windows-1252?Q?Rqu9e79P0eabc9UOb/Anc6VT5b+3VqZYw+0O7Q/5Wy4BfOAdMjSu09WV?= =?Windows-1252?Q?Pw4Az61ljFKNI48oVerx0o6GleixlqsqnikLiNPeIPDfZaq+/omvgrWE?= =?Windows-1252?Q?ttGmO6FZqHYAApQaZm6b1LBu7XC9meKPo9KvCWM4TuczHRnv3z4TbyhA?= =?Windows-1252?Q?6/RxQO12Cn+TM=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3090; 5:15dfsYMKv5bbf0TGQZIWNezG4B1Afrvi44Tem5Ko6Fr446Qk0pWLMsByzZgJDSrKSp2tYAZ0Y8krtloQqi1zJEw7CSEvrijNi52i3Xb9DWDj/ma5jW+xnJ67NLsNUuFn8vDX08qPsAR+UxcNJJlXtw80I9Hg+mD5KQbDGUe1W/VQHXaEa+HVuMKLJDMCKOeEAeD0N36dkEMy3/3Ib5g4tAiH2TkMQ/A7Py59+pcTq7PzHNDhM0j9vNBwPIudRPYXlrobDiaeheEKa9p3qSzOkZo6ZnnJ+qAsG2hgo2KK1LPdcoTSrj+J6UQIhHdLI3lGOXVTadpgyl0J0MakQhLaANW/D5beC/4mzvbD9t+O3dOhMhgofr5xtCxtp4uR3WGhodt3W5a6xarE116ddwvhrxlMWIODfQhB1eJNSvufF+C4TeqULwLpzcq4lQBbcW9x+/BM4btkOeV8Vzoqqkfxb+aJU8rIWNw3kTOffmTJS9bUF4KyCefEeO8YRRRJHjVZ; 24:wf3T/Qe+iP19pbCCy+DUeDBjGp6HVgwZ+lw9lyoV/41rT9y4nCRKhxR+/QZOzXOzXnmU3C1wXV/MAVmPs58EWEzZ7Ol6am8378qx1XPcflo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3090; 7:IeYsn4eIRUTytpCsNEFR1+EQvlZT9eB+C+IU6SiTA+yk0l7sAdAP0F80jVrFgOPjrmkrHGj3eqLbNPhrdOhEykmaHl8ueBnLk6koBSgeTlQXZTFdzuP+1wsdoFJGru9Rf9QyV2CgVjqtSxAXtYTcVmxCi/U+ATa6v2wAYx31Mtr54CHzJbWz9DcYtw4DcDZQFPcc1Uw0rCuT6kFnBEMW8ROD9hC7ThI8aWvq8B/eOIGDfh/7sVk6Yd8rgwnCMycaAKJVH7WWb7us5nnGOjtkf/vu+kw5qebRTVshI9yTpI5vWs4WiVNIWDo4oSewI5PQy9usjTocnOtvmwNgRCdl59QiOG19k6TYQxXxwUh99m0e0WgXHKbvKJaZYuTqoDVPAspPSLSsicfgew/Cto7QvBU3VpkHarnfwMdOqVh6AIjot9PWmY/Otr+oKGIZM5az9CbUBMxLCaUrLrGp2NUStfMp01/d7A2LewQEMEa7ti4hNL9DrQ4q2gcVl9N+aH2+qPmmxh1yMqIGmjXcPAULBaG8AhLoicyMa/vJ2oEFt2AiNuYHcKONzlJhdJ34Rla3gtyXB8v0g1NmGqKz2s9IoH/g8eIkG/iU5+4cpeaJM6RBXSdNxSCv763W9libwdZKN4bjj6ayK1g3gWREi4Zz4rtBrpSjXfNtImydhqZnyK7EXze2K5jHgzqts58FwDwknFeeeLRAB5GaJBnjRmvSWyqtNu0aAtd0sPicQoPjPdZcs9P8JFe/NEe7dH3nzY7ZmhE5tjiFhGxo8KMqgso0T9ZO6fGQ5p2lzcgeM65u9TA= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2017 07:48:15.7482 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3090 Subject: Re: [dpdk-dev] [PATCH 0/2] Allow application set mempool handle 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 07:48:20 -0000 Hi Olivier, On Tuesday 04 July 2017 09:29 PM, Olivier Matz wrote: > Hi Santosh, > > On Tue, 4 Jul 2017 17:55:54 +0530, santosh wrote: >> Hi Olivier, >> >> On Friday 30 June 2017 07:42 PM, Olivier Matz wrote: >> >>> Hi, >>> >>> On Tue, 20 Jun 2017 19:34:15 +0530, Jerin Jacob wrote: >>>> -----Original Message----- >>>>> Date: Tue, 20 Jun 2017 16:07:17 +0530 >>>>> From: Hemant Agrawal >>>>> To: Jerin Jacob >>>>> CC: Santosh Shukla , >>>>> olivier.matz@6wind.com, dev@dpdk.org >>>>> Subject: Re: [PATCH 0/2] Allow application set mempool handle >>>>> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 >>>>> Thunderbird/45.8.0 >>>>> >>>>> On 6/19/2017 6:31 PM, Jerin Jacob wrote: >>>>>> -----Original Message----- >>>>>>> Date: Mon, 19 Jun 2017 17:22:46 +0530 >>>>>>> From: Hemant Agrawal >>>>>>> To: Santosh Shukla , >>>>>>> olivier.matz@6wind.com, dev@dpdk.org >>>>>>> CC: jerin.jacob@caviumnetworks.com >>>>>>> Subject: Re: [PATCH 0/2] Allow application set mempool handle >>>>>>> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 >>>>>>> Thunderbird/45.8.0 >>>>>>> >>>>>>> On 6/1/2017 1:35 PM, Santosh Shukla wrote: >>>>>>>> Some platform can have two different NICs for example external PCI Intel >>>>>>>> 40G card and Integrated NIC like vNIC/octeontx/dpaa2. >>>>>>>> >>>>>>>> Both NICs like to use their preferred pool e.g. external PCI card/ vNIC's >>>>>>>> preferred pool would be the ring based pool and octeontx/dpaa2 preferred would >>>>>>>> be ext-mempools. >>>>>>>> Right now, Framework doesn't support such case. Only one pool can be >>>>>>>> used across two different NIC's. For that, user has to statically set >>>>>>>> CONFIG_RTE_MEMPOOL_DEFAULT_OPS=. >>>>>>>> >>>>>>>> So proposing two approaches: >>>>>>>> Patch 1) Introducing eal option --pkt-mempool= >>>>>>>> Patch 2) Introducing ethdev API called _get_preferred_pool(), where PMD driver >>>>>>>> gets a chance to advertise their pool capability to the application. And based >>>>>>>> on that hint- application creates pools for that driver. >>>>> If the system is having more than one heterogeneous ethernet device with >>>>> different mempool, the application has to create different mempool for each >>>>> of the ethernet device. >>>>> >>>>> However, let's take a case >>>>> As system has a DPAA2 eth device, which only work with dpaa2 mempools. >>>> dpaa2 ethdev will return dpaa2 mempool as preferred handler. >>>> >>>>> System also detect a standard PCI NIC, which can work with any software >>>>> mempool (e.g ring_mp_mc) or with dpaa2 mempool. Given the preference, PCI >>>>> NIC will have preferred as software mempool. >>>>> how the application will choose between these, if it want to create only one >>>>> mempool? >>>> We need add some policy in common code to help application to choose >>>> in case if application interested in creating in one pool for >>>> heterogeneous cases. It is more of application problem, ethdev can >>>> return the preferred handler, let application choose interested in one. >>>> ethdev is depended on the specific mempool not any other object. >>>> >>>> We will provide option 1(eal argument based one) as one policy.More sophisticated >>>> policies we need add in application. >>>> >>>> >>>>> Or, how the scheme will work if the application want to create only one >>>>> mempool? >>>> option 1 (eal argument based) or we need to change the application to >>>> choose from available ethdev count and its preferred mempool handler. >>> I also think the approach in this patchset is not that bad: >>> >>> - The first step is to allow the user to specify the mempool >>> dynamically (eal arg). >>> >>> One thing I don't really like is to have a mempool-related argument >>> inside eal. It would be better if eal could provide a framework so >>> that each libraries (ex: mbuf, mempool) can register their argument >>> that could be changed through the command line or trough an API. >>> >>> Without this, it introduces a sort of dependency between eal and >>> mempool, which I don't think is sane. >> Yes, eal has no such framework for the non-eal library. >> >> IIUC, then are you looking at something like below: >> - All non-eal library to register their callback function with eal. >> - EAL iterates through registered callbacks and calls them one by one. >> - EAL don't do the parsing and those non-eal libs do the parsing. >> - EAL passes char *string arg as input to those registered callback function. >> - It is up to those callback function to parse and find out i/p arg is correct >> or incorrect. >> - Having said that, then in the mempool case; We need to add new API to list >> the number of supported mempool handles(by name) and then compare/match >> i/p string with mempool handle(byname). >> >> Are you referring to such framework? did I catch everything alright? > Here is how I see this feature (very high level). > The first step would be quite simple (no registration). > The EAL manages a key value database, and provides a key/value API like this: > > /* return NULL if key is not in database */ > const char *rte_eal_cfg_get(const char *key); > /* value can be NULL to delete the key, return 0 on success */ > int rte_eal_cfg_set(const char *key, const char *value); > > At startup, the EAL parses the arguments like this: > --cfg=key:value > Example: > --cfg=mbuf.default_pool:ring > > Another way to set these options could be a config file (maybe the > librte_cfgfile could be useful for that, I don't know). Probably > something like: > --cfgfile=file.conf > > The EAL parsing layer calls rte_eal_cfg_set() > > Then, a library like librte_mbuf can query a specific key > through rte_eal_cfg_get("mbuf.default_pool"). No registration would > be needed. We'd need to define a convention for the key names. > > It could be extented in a second step by adding a registration in > the constructor of the library: > /* check_cb is a function that is called to check if the parsing is > * correct. Maybe an opaque arg could be added too. */ > rte_eal_register_cfg(const char *key, rte_eal_cfg_check_cb_t check_cb); > > > I'm sure many people will have an opinion on this topic, which could > be different than mine. > Thanks for approach. But I think we should take up as separate topic. >>> - The second step is to be able to ask to the eth devices which >>> mempool they prefer. If there is only one kind of port, it's >>> quite easy. >>> >>> As suggested, more complexity could go in the application if >>> required, or some helpers could be provided in the future. >>> >>> >>> I'm sending some comments as replies to the patches. >>> >> If above eal framework approach is meeting your expectation then [1/4] need rework? >> Or you want to keep [1/4] patch and I'll send v2 patch incorporating >> your inline review comment, which one you prefer? > Adding a specific EAL argument --pkt-mempool could do the job for now. > But I'd be happy to see someone working on a generic cfg framework in EAL, > which seems to be a longer term solution, and helpful for other libs. > > Some parts of EAL have currently no maintainer, which is a problem > to get a good feedback. But I guess a proposition on this topic > would trigger many comments. > I may take up this (per my BW), but for now I prefer to follow --pkt-mempool approach. I guess, --pkt-mempool will address heterogeneous pool-handle use-case. so Its priority (imo). Thanks for feedback Olivier. > Regards, > Olivier