From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0070.outbound.protection.outlook.com [104.47.41.70]) by dpdk.org (Postfix) with ESMTP id E6A007CD8 for ; Mon, 3 Jul 2017 21:15:27 +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=wMFg6OeMo55epK1Qk4AHi7VO8hKZX4Edu1tSlz2HOik=; b=Q9LBfo2IrFqesYiCsVF6W04IMP8SM6hRnK3plaAFABrWPH2FnFyBeRa0zzIFB76lpdF4oT/DTN3dvjGN92PJOvehvcWc4V2q57m5SaatHbzvyfkXZYBzI6J0rxUEipx3Zd0f/+0u+Rj0aygP61dpLlsfeMWlhe/ErsFQzzFZJBk= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=caviumnetworks.com; Received: from jerin.domain.name (111.93.218.67) by BLUPR0701MB1716.namprd07.prod.outlook.com (10.163.85.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Mon, 3 Jul 2017 19:15:23 +0000 From: Jerin Jacob To: dev@dpdk.org Cc: harry.van.haaren@intel.com, bruce.richardson@intel.com, hemant.agrawal@nxp.com, gage.eads@intel.com, nipun.gupta@nxp.com, narender.vangati@intel.com, nikhil.rao@intel.com, gprathyusha@caviumnetworks.com, Jerin Jacob Date: Tue, 4 Jul 2017 00:43:40 +0530 Message-Id: <20170703191402.3638-13-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.13.2 In-Reply-To: <20170703191402.3638-1-jerin.jacob@caviumnetworks.com> References: <20170528195854.6064-1-jerin.jacob@caviumnetworks.com> <20170703191402.3638-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: PN1PR01CA0103.INDPRD01.PROD.OUTLOOK.COM (10.174.144.19) To BLUPR0701MB1716.namprd07.prod.outlook.com (10.163.85.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fdaa3628-1e18-402d-379d-08d4c247dc9e 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:BLUPR0701MB1716; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 3:4LSfjkvBZAJFmB6z2S4cJ/v+B6hG3dIO+OkkI4d4Kb5G4a/qBDg52lmhOssqZzeOnHKR8NtYP1eZ/2PoeYcfS1mHJ314lHVsAiZeIMbUUW3Vrn7pq2SWbDpLN5JQsvLBn90K05clGPQpmLh2fX0ts+MKrKhuO65Af8Wss0hY+XHtNcxdi7oPK03x0yMVRT7AFtpPDsr9sw/0/Z28NY4BdrjYHO33qOF2QSNNH+2XnsrE5evaUUQXatTQjNsSNV+LTwyTKtZ4Mxb2ChqPsJbx6wqRDarUj2jv6L6iZ2TA8gCTx42gj/vfSZysb8bC727wy/x2hHNkpnGcC16akvAG4fh93h3RP1LkmGY8SbtoliCXXlqXeTJX3gRtHP7CVPP+c9UO2mrOJ642dEpik9lYX3rnYAZYPugL7o9BshceyOsh+Th5hzhHqvTyonR4REBrbuF1wB4HYWRcOQPG+Napq7opnUmdjbT+sC1B/1h1iAxiCI2y/u89CtvSnfC5iya4/vy0fYVRC3lxcXIIAv4ybqoPldhpRAE658Nirt3yOP+nNaEUPK4jPTaeKodO6zv1uTyrqNHfZU/ce8ygyluD+ILGEzZOHNtwf/dk8SmFg+RXi/2h+TG1JzMZLGZDGoTh8nuTzuQ19U1tF3/U2/l+D9tzhzqQRIA9lUED00/uLFOQO8uu2p9EB/VAfpLJxIwHswGgkgF6Ez6jGoEiJF6vm9sqqvtQWPtuXbl9y+9PJPmRHafVhgLfOGhx4cf5HIWi X-MS-TrafficTypeDiagnostic: BLUPR0701MB1716: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 25:KeL9XLM/LgNUanmUfjx9Nz1NPq5GlAErMQpYJ5yI5CEusq2FAFUD3c0n1uWjS3K2/KhyFyDAiH09zFaFooq7dPLjKgF9kxJGm57PMZ23p20K0iVK2i7LJQuMImrxTPD/1F3jVl2a/mjCwIMxZytzzaK+dF7wp4G7/qXKM2M9PEks34d0QY2I/210flR8fxN2wHuZJnVS3Tpxn98AK71Mb7T+32E0ZueSga5YySwny9HSIuD5ct1I17FpypJKoP67TPxlFu2qcTdzkfQX8b78EccfdK81be2UKD5t9ATXsm18v6YpVzts7qyN3Y6E76QqTwIaEy6+ivHZBw4lB4bDP62Ff/eitDqnzxWvBlb9NNKkrwjWNoXhSqUb9eRn+A3WH3tCjuo59zCDLGOYXAAN663aAkJjh0z/rx5tDNujoyCvVW4kSgAcl3eRfBn1J2H2oOEUEa0rnbtrd2urP0bJwgZv5Ei7K+rYRnwNP+qn0spoUR/W/5MV7PkpobbYXW+t4iD3yWYYqbxymNIhRPdE4dwPWeKp5jQez+dxPyNIpWZaaldJ+YZ0WYK6LTVz3r54VVGBzmAbDQaGn1jcGyvv55VtVrJEYZpESoLSu53dC8zbBcS4Vx6Nk4VpO+uzdbgKECtviBowmqzxGhJOqp8fS8YVPMnwRnLyl4DMF2c4oNpItwuSCuzkSuX9ZwnW1PmXnJ9+H5Ce76CoLA1cnaeSniYH+w+h/nkFveSNALYJk3a7Gw+EPXDspRIwrM6JY9+fEiNLGigdvW3g+nhgv0E2JA91Xc4dxuigpx3jTMcI4bDfJIKCnA5exo20vcQSmeNPXLb8W3KM4jvbMD/upkagSc5VYaZIhe2jq2jz3TefWGjwK0EXrV3xP96CZtF4y6fj80LObgWv/BrnglaSGPS14FHAChd1y2nDW4IzJZIAKtg= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 31:RSDkwLVEwepZ0QaMx0+LPLP9bBezop91YH1AWb5Zt22h3tvMNemM3Ut6IFG9M0ohxqGpr4azO9CtEFxoE7wLZ0/kcrqTsPr/sqxzy5nS6kR/3KKK0rjOgOMt1n70JxaBJOisCDJXWcVkMD4PMgA/VCr6MU06bSYUecnUph21GCAZxRJ+S7qjbyO8QBmQLHrwNwB5bn31bQYT8ezDdUQcQhp3AmsQaJ2TpMTV6xrG+phjL2SGeRp6Oy+vnaaq2teeLD0ICwD45RWuwnuU3AQS7ZlTn87Y6bFX34d0swet4NrPgiFpjJbK6awQipw1giUdvYybNVEG3Lq9tefRHeUvhCk3AXFlYZGqzqCsgYBJkt91oMusriyLcf4YjJMWZAT7QF2K8OOYA40R/4lM+swm4yCbJOvP/ZroTiCnXPYQVYew4hHv3N2bClsNwN1UE3fbG94g/PIADovdZv32IcAPWeaFBJ82bcHCKFvLm8Yg/+hPVG7o1VaIHjhrHHa0NrkGf/plbZ/1eawjKcc6O/0EA+NS8k1ctoMXM1B1jX9qPaea1vt6K2kpK8+1GvQZbI80s6Sj+pjK5DDu1rvM0X7hdtcRdM3bzJYubBEfqmFwCw4/kzCq72r6LYRFa8qRMWGvfFXBnvN9oXH5K/5xeo5ynTv4FSSjfxVfPc+L/sEwwOI= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 20:yjLoUHsTogr6J6R3L/DVTYsNHr/go5dOls0XIrfLTYS601D6y9rAwH1j0t+gGIa5AxiBms8rM6C9wfce7itXBbytnqjdjjbvQEPs2KpPvHzAwUnAsS/S4kJl6rhmvULQpnX+jvzD+5TfKtW1NayxhR4FUHkNrMxciNC4n5o37+L3/I6ud5MehXOHrjZS4s+Wyj9TegoO1ryM5sJ6DjD1KM60L/YZ/eCBRlnlcGsQ87Uwydu85EBbEnPDLURU4ccKtysYxzFpA6E/x3YMcOQbwDiqYVnPoIxXLwphc5Ozrmyk4YWrrxvgSOG//fqexfoQKYzJAHoH8U4qHP0tIcKhYlgNYrz3TcR9cof8sPnoLyvg6Etjb+zX8CUDlk0aahq1gtLXCJr998AZLDdC1p9wh8g5Ku2bK9S27PJP7nitcCwFAbww/SuND5K+jSmqo2oTnOsgi4evqEPmt5CwN4MIL4LXIbOG06JAJCTCHYl9feq8nYY1FIrHyUMneKEByC7ez9A3/QDGnyDgnU34+KZcho9r3LnSHUHj7LKy8KM0jkdWUwJKi42fXsXVwW4qBgpAKoimLXdT/9cr86ZSi5L8d1F0YDdLRoC1eh8VOzaJ0pM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(148574349560750)(158140799945019)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(3002001)(10201501046)(100000703101)(100105400095)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(20161123555025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BLUPR0701MB1716; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BLUPR0701MB1716; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 4:p1PGZ/sv2MvQrkJNadC/KTy0zRABRHeh9ZXGdLTh?= =?us-ascii?Q?0WO68e5xyppBLzfP9z5jAUs2X5vP9cmDKD5GCqXK5ta08vveGuudLvqxR2mz?= =?us-ascii?Q?kESOZKXOcF0S3u1wciCuzIIjWXmu+LxRHFQQf1wzeFyhhe26P6H2jZj9WB8M?= =?us-ascii?Q?4n/n/aGVn6Ohb2XGnnKEWS3AeqRuEbVqeseZOTiAQOcRmvlf5ISfPBhwAAOU?= =?us-ascii?Q?Zr6akqsusxPL3gtOC1FtYACL8kLGiAWVKcikQD7osUru4ETye7NxnWzfEjGY?= =?us-ascii?Q?+SQXxNZDxIrej4IktCnqs7BR7/iPIWMmSZmGhr2qa4xVu5XKFETiCCb6zOl1?= =?us-ascii?Q?EPaXoBIRxroVONF0Y0UGCm3OyhOXX+tiNCR7u+JjaT34WFjWf0OBQJc6PH6P?= =?us-ascii?Q?8UUeUeMLq4UrU+XGhk2IftEMHv8FpP7sfmaM7DKes9lW6dKveIa8w7BPwVFr?= =?us-ascii?Q?5a9OxT+LBcT9bx4CHjv520hqAY8dv6KhZU3hVLZv0qs9wqsIhmwSuqEJXJV7?= =?us-ascii?Q?cGPAYof282bFBwdJaxbE32xjgyyNuFpvXT1yHB4a1QyjFJUy/blx/rdaieKK?= =?us-ascii?Q?dfi6ZoXUdQiiRxWXcSPC87ajmSE2yW/kM6+bi4tEp4HSI8XMkmAVAPMSNR+e?= =?us-ascii?Q?Wfy0bXRzz6yNMvwVivx1KYhPUhiGKflyPpslcSrbbmvd7Qcj/CDN5fwJjMvI?= =?us-ascii?Q?PlTuosnWJRF/sGcESkkXPHpgZm3L06Iu6Vv4IfN0bJnYXJFdMiV0sCFw/Zqu?= =?us-ascii?Q?xq9i7UIR23XdDZV6nGIwD22ZqDovOGjObnkXM+ZTyhRHS/syDaSS0cNnOOKi?= =?us-ascii?Q?t8+PqJOHWk+vrYJuEPGuhnAiCw4k0OMExG+Ox/j1ZX9byCSzAWEpujAJB/m+?= =?us-ascii?Q?ts7ZUnavUisCwbsjcwQU9r/E93FkoO/CT9kRz/OHv4OuYLvhjaJz5ofIuxDS?= =?us-ascii?Q?+Cn1oUSOTHx8IFdUMEltUiG9mIMHUx9RBk0WX5IzGgbB2G41LwImv5Nzk47X?= =?us-ascii?Q?hpedzhs4Y1JaEcl7sBOqlz+Jk6lFw+44wx0zYey3KVhHj+jlqs9a2bjoWooH?= =?us-ascii?Q?JBGOxF/Ie/J3bj1uwrvitOKBQWCoNLAPzO14YxN6XfKv06piQblIxm6sPEqT?= =?us-ascii?Q?g6DuA1KgWNGbuULALytJsoBXnqzDcyGbhSgelH9hTq5c2wjCkp819XgMzfb9?= =?us-ascii?Q?ATjaZZjQ3W22Qu0uZBkAP8/W5cvNTJvtwNSC6UBPDUruYBXV1WRqizapfXDa?= =?us-ascii?Q?UapEWMQ08j279SyYQYV+5BHBr+hLYgEkAZaUc+sb?= X-Forefront-PRVS: 035748864E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39850400002)(39840400002)(39400400002)(39410400002)(39450400003)(7736002)(478600001)(575784001)(53416004)(72206003)(38730400002)(110136004)(107886003)(42186005)(8656002)(50986999)(76176999)(36756003)(6512007)(53936002)(4326008)(25786009)(5003940100001)(6916009)(42882006)(2950100002)(66066001)(5009440100003)(6666003)(2351001)(2361001)(6486002)(6116002)(189998001)(305945005)(33646002)(5660300001)(81166006)(8676002)(3846002)(47776003)(1076002)(2906002)(50466002)(48376002); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1716; H:jerin.domain.name; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 23:+0e+yXZGDy42co0A7aZYiF3soXTIWZTqm1Hpdhe?= =?us-ascii?Q?zkV+E7KwTxhc+cH0i64OG+0oRSBimm+kt5i15QVz6JWyrpjqvsZQre+OEZhs?= =?us-ascii?Q?u8fgKXVNq9jM5abnx3HrKcHArspupuUZERKqysvNG7Qzal4DfiW4tt3ERo+1?= =?us-ascii?Q?/36hCLieEE5ZZG/cg5mgGF/JM07WAL83CLyXTF7pdkMRi0F8Bh49A6X1ebM2?= =?us-ascii?Q?tjj0xTSGYkxUhUJSP3JL6Jd4jidvj3C6dMU/hB+q5vl5ZEA3i3X3qfO8Tr3O?= =?us-ascii?Q?oYTXZb8woXDQAj/VSWndpgnb6/wGhjpOtx4Pelb35Fj9pXZO63CctB1LjgXa?= =?us-ascii?Q?UdgHY1ju5eTAqKVedkUIm3jRuNrttLYdfpADJ9Su98LK7qkfApvn3E4ASUgb?= =?us-ascii?Q?fc0OOVUZLVxDEjaE//DB0LirEGxa1V8Ca5I00oiV3CL0pQ+NUkjglW2aPcOh?= =?us-ascii?Q?DGRWL/Zc2ewKMryHp6yEyIsEALf8Ot2eML4Qs+CdspkTQ3Q5u85uvsio7Cyz?= =?us-ascii?Q?iydTVRNJXZl3tS/ZbB6nUhj02IxwC2Sdl753adncDxicyJZ+6mxLeh5oMttL?= =?us-ascii?Q?1HU1xea+m8s/bUsARA6hFujaM+Gx7K385Y+3W2HAnHSBeHkvb5j1RrIK8Ocb?= =?us-ascii?Q?CrAAG9lbZcGZgRqo0nlClPhvaJxILCucsXpbFvTlFWE+QEJPHC9xWC9xYl0k?= =?us-ascii?Q?k3T+jnbfqinYKi9Kgil6xc2W+WqsatFrx8u8jLvm8GHjm90+3+Dcb6bXP44w?= =?us-ascii?Q?MyTMOXIRmqDb1QUVEScq/HiOCMH9XAGf/RMwdx+WkAdoiN7j2soDZh+L46Eb?= =?us-ascii?Q?chPr5Ewc6V+q4VtklnUZXu5twg1XBmFTo+1SbADZx+KIqv50H2viR5hZwg8B?= =?us-ascii?Q?EG/WTEwL1V9R22xZQgmTlfdNGLOIlMoVHNZQx7gDi2xA9/cgIMltb29QsLav?= =?us-ascii?Q?DejEV0dGwXnRsFIsejJqXnjL/cyOdFs2q8Kf43UG/izDShRVA1/yah1TvRu4?= =?us-ascii?Q?CyASzDh2huqT8cLLfHlN73xsCU3oSJCfqCoHXPuz/EROZ7pU9cCcRnpYdMBt?= =?us-ascii?Q?Rh4pOlHDy6bBWyqUE4hQj4jLF0V2C01rKY4EyLAOZWShRApqJZwjPhz9jGF4?= =?us-ascii?Q?ELHr5AsHzhIgnGpEquWBoW1H1XJtiFuSI25Tevg0+rhbhvS1qOl+ZrpZH0nB?= =?us-ascii?Q?6clLrr8OmBY5BR1E=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 6:aJ9P+Zy57A3EtltG6M2w8MkFRBXnLiWQ76PBf0WD?= =?us-ascii?Q?9Woynrx7VQcQ92A6hQU1OLalpd0yLKQYa72kqPuuf9jVYatJKxx1LHnlR7UT?= =?us-ascii?Q?vFcT/iWRCc4345jPRSsDOK+N/Cwe3LD0cfHAuR0RTCq28fEahSbfiLLi0Av3?= =?us-ascii?Q?Hjt/4W5QoAjvZjJI4o8241kz5AKoZZgCOYPTYRFiuOh/QAbNsuPtdxyMg5nv?= =?us-ascii?Q?IgWezKabvFaQ8PuGIcjJqOO37Fjffb1Pc0TEeLY4p7dlUoIOndntg5kwV5sS?= =?us-ascii?Q?r4wfdq0GG5e81g08TuZgXFW6voHskEoBHqvSjbe8lFJoF9mhAqle6oaLWmcq?= =?us-ascii?Q?oJj4VCGszkHI3mp0jJerSAWio3Lw4KqNhcGqYNgIs/GjWmMQy0394p1cLMTf?= =?us-ascii?Q?8QhbxqnNclu3zd22BCeWTZxxANpfpmPMpSavpk87jg5qeuMvmvgnCptfXyMo?= =?us-ascii?Q?Dy97eiuLs0cmnSN3pPRpGh6+ruDbaLQTww+6PlZ9a64VVPlU7L8lMd+SldEd?= =?us-ascii?Q?Z9CMC7qmFxrzS2H47XWt7xZzDmDD4RaMe8UoH2xQYmNkTUw86s7zcbFZRqZd?= =?us-ascii?Q?cWq0fw7Q7gHthlJoIBC7Q27DG1QiHUsV3oXcYOJH49PYKYTSWLegOp1Ph7Rg?= =?us-ascii?Q?yp45fGfvdqhLDvk+KXeyKb7yhsMEsxHZ5z9KOc8aqnA44IUL6M4GuQIyevIJ?= =?us-ascii?Q?8SNmPi842dqA4oRT2BDOWPh04vBPQt37VXSHQvl83PQiDy2b0kfIG0FCeWeU?= =?us-ascii?Q?MiqPTPG9sy+BkZTrFgTNXNrzpJB8SvPyBe4ZqkHHfPHjhhYLlvklWndCOXmc?= =?us-ascii?Q?xjJTe7WboixZMkH6woxkDAyitrUasluRGEXAIhNAhhFWplxzIxT7nV1cf/ec?= =?us-ascii?Q?xN0w6DkEeOOUJHWDxHxeXsm9ivaYdt1ECPZFGFr4gzezOtMFDHW7XZW+JpAx?= =?us-ascii?Q?BET1GCUN5NGsUp6J1d/KWUcXjZUHNpSqmF46b+TGcqzYTwHJaxOVKtgih3W2?= =?us-ascii?Q?nbQ=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 5:17MCvwiF35t4OeD0kEWgzegG4N0kbxWlXc18QXgBJAxldY7KQ39SX+64dJAOuS2q6aogAYNk3hNhDjJNdDA8c/jsZgu1UrIt5WdPnyu9+EO9a6xFx8ffAKcur/cm4Z3jgAKYpwOBlyNb4HtYnsosX8gfDUoCroaXiFAEayvwRUjbFocQYhNwdIknMIQqJgmtxNP7iihhX0N+yLHt0VSus9k/YC3HwTXI8pjPEAEPtxI6f2Ll1to9Y6DaEYhENZ7eatDkH2jvKqnyj2UjvU2lVKmTzOTZQrkkky2vUiLE0/0TRZzZ+C32gepw4qahfZpl2n1w4tbJC2b17f7GRpU5y5NHkG873DsrgeEJJSuXrVe5JAQmQ4ytoMe/Y7KRQA0QcEluN4km6MrRioeRKzI9lh09ca0YmLRqlistNtdMQaudlS1FK4bUTU9z15w6TTV/3HFT6SfRxQvpJ+ziHV4e+xiREHFnXlPp/b3E2BAFbuhGFD0lv+/kq86EWRadgR29; 24:iPQmegnKIjIy50LaGgAIoqDnRsDWIasNh5IqA2/DEgTPVe0VP4yeksLUiSa07qA5FUir55bBrJmk7tR434F+SMOO+FQRBXfC7FCFXdthM/w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 7:wMfAb8Rm21LUnfbIHCLEiEfkNZyR6CeNxIte91IHgoxtl5j6m51pyEnMKhU8OhOnzwgASOw+e98GKUr6XaQSozpWPIEihlV3MIq2vBw5GQw0DbrqH5TWFeI2ZxUlDXJFeJZ/8//J9Vx6+2uSxx0cxislmCnHGyHCA0u8Ox37evpM1ATetsQOS9mwLxGrcoPYLWLMI65jC3IV1OcPohz5cXZ0Pd0RNu0YdyyLcJ+0sG1oT+IAhWjRdEqntHEDb1mP4GKAPVXfsu+lFnVS85CWN49JL/Zv1oXbFNDIwhzqqRetJFjsVXv2TjPd4NJYJN0o+DTK71u+Ti9NKjrTWx6X2MoE3DhyWpzns6CGT9CRL2Jl5wdhUExie7s3i8Dz2HJ/rv8KxjJkuJdL0KWsPYY9HSbpS1GOOVU7Zk5QWjIyHxD8xl5sgL6CLAjMktcGByfgj8sT3Fl11VI8Pcz6WdAArwwnHovcWqg1GnGWlJVoedPLvGnSkAC0vPaXEgxPMFtWEiiSEt3S1rw7tsugLe3wDeepYKpxgd+8YL8VirxWODoVkmtdEy9l0SoI43itbRPxa7bc9nftzoRvbQmY6J7oVpABAO2xpDORWVIfVYEU6JdmTj/Cn/ISwqFdFqthRXpIlbDdFORQW0mmzwPgdWyGWPvZC7T9mS83n/xzIW4Sw2uLvaAdvJ5GqJxjNgdrG2R4dooqexgS89WXsH/Ee5q+98Um965G4r7VHZzFytwAh5Bx5WnNplfaKvRySeycqn9fqPQN6Dj+zrWKRYFSqs9NfbstiN2038/Td2S2dVmGlIY= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2017 19:15:23.0747 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1716 Subject: [dpdk-dev] [PATCH v2 12/34] app/testeventdev: order: add test setup and destroy 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: Mon, 03 Jul 2017 19:15:28 -0000 order test has the queue and all types queue variants.Introduce test_order_common* to share the common code between those tests. Signed-off-by: Jerin Jacob Acked-by: Harry van Haaren --- app/test-eventdev/Makefile | 2 + app/test-eventdev/test_order_common.c | 92 +++++++++++++++++++++++++++++++++++ app/test-eventdev/test_order_common.h | 90 ++++++++++++++++++++++++++++++++++ 3 files changed, 184 insertions(+) create mode 100644 app/test-eventdev/test_order_common.c create mode 100644 app/test-eventdev/test_order_common.h diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile index 168e56416..acbf74ca6 100644 --- a/app/test-eventdev/Makefile +++ b/app/test-eventdev/Makefile @@ -43,4 +43,6 @@ SRCS-y += evt_options.c SRCS-y += evt_test.c SRCS-y += parser.c +SRCS-y += test_order_common.c + include $(RTE_SDK)/mk/rte.app.mk diff --git a/app/test-eventdev/test_order_common.c b/app/test-eventdev/test_order_common.c new file mode 100644 index 000000000..b8ba8a0d1 --- /dev/null +++ b/app/test-eventdev/test_order_common.c @@ -0,0 +1,92 @@ +/* + * BSD LICENSE + * + * Copyright (C) Cavium 2017. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Cavium networks nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "test_order_common.h" + +int +order_test_setup(struct evt_test *test, struct evt_options *opt) +{ + void *test_order; + + test_order = rte_zmalloc_socket(test->name, sizeof(struct test_order), + RTE_CACHE_LINE_SIZE, opt->socket_id); + if (test_order == NULL) { + evt_err("failed to allocate test_order memory"); + goto nomem; + } + test->test_priv = test_order; + + struct test_order *t = evt_test_priv(test); + + t->producer_flow_seq = rte_zmalloc_socket("test_producer_flow_seq", + sizeof(*t->producer_flow_seq) * opt->nb_flows, + RTE_CACHE_LINE_SIZE, opt->socket_id); + + if (t->producer_flow_seq == NULL) { + evt_err("failed to allocate t->producer_flow_seq memory"); + goto prod_nomem; + } + + t->expected_flow_seq = rte_zmalloc_socket("test_expected_flow_seq", + sizeof(*t->expected_flow_seq) * opt->nb_flows, + RTE_CACHE_LINE_SIZE, opt->socket_id); + + if (t->expected_flow_seq == NULL) { + evt_err("failed to allocate t->expected_flow_seq memory"); + goto exp_nomem; + } + rte_atomic64_set(&t->outstand_pkts, opt->nb_pkts); + t->err = false; + t->nb_pkts = opt->nb_pkts; + t->nb_flows = opt->nb_flows; + t->result = EVT_TEST_FAILED; + t->opt = opt; + return 0; + +exp_nomem: + rte_free(t->producer_flow_seq); +prod_nomem: + rte_free(test->test_priv); +nomem: + return -ENOMEM; +} + +void +order_test_destroy(struct evt_test *test, struct evt_options *opt) +{ + RTE_SET_USED(opt); + struct test_order *t = evt_test_priv(test); + + rte_free(t->expected_flow_seq); + rte_free(t->producer_flow_seq); + rte_free(test->test_priv); +} diff --git a/app/test-eventdev/test_order_common.h b/app/test-eventdev/test_order_common.h new file mode 100644 index 000000000..a9dfb647a --- /dev/null +++ b/app/test-eventdev/test_order_common.h @@ -0,0 +1,90 @@ +/* + * BSD LICENSE + * + * Copyright (C) Cavium 2017. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Cavium networks nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _TEST_ORDER_COMMON_ +#define _TEST_ORDER_COMMON_ + +#include +#include + +#include +#include +#include +#include +#include + +#include "evt_common.h" +#include "evt_options.h" +#include "evt_test.h" + +#define BURST_SIZE 16 + +struct test_order; + +struct worker_data { + uint8_t dev_id; + uint8_t port_id; + struct test_order *t; +}; + +struct prod_data { + uint8_t dev_id; + uint8_t port_id; + uint8_t queue_id; + struct test_order *t; +}; + +struct test_order { + /* Don't change the offset of "err". Signal handler use this memory + * to terminate all lcores work. + */ + int err; + /* + * The atomic_* is an expensive operation,Since it is a functional test, + * We are using the atomic_ operation to reduce the code complexity. + */ + rte_atomic64_t outstand_pkts; + enum evt_test_result result; + uint32_t nb_flows; + uint64_t nb_pkts; + struct rte_mempool *pool; + struct prod_data prod; + struct worker_data worker[EVT_MAX_PORTS]; + uint32_t *producer_flow_seq; + uint32_t *expected_flow_seq; + struct evt_options *opt; +} __rte_cache_aligned; + +int order_test_setup(struct evt_test *test, struct evt_options *opt); +void order_test_destroy(struct evt_test *test, struct evt_options *opt); + +#endif /* _TEST_ORDER_COMMON_ */ -- 2.13.2