From patchwork Mon Jul 3 19:13:31 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 26247 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 7F5845592; Mon, 3 Jul 2017 21:14:53 +0200 (CEST) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0047.outbound.protection.outlook.com [104.47.41.47]) by dpdk.org (Postfix) with ESMTP id F23042C8 for ; Mon, 3 Jul 2017 21:14:51 +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=VboK5/4TlAF6bnPbvdTmje2B/WWQyarzwXvulAMpSUE=; b=ShUL5600tzk8TAoS7v5tg2+UjCnBF2At8hCnyVxRRr0cNA7c3f5PN2kcRDJ60p8nU5ehXY4KgLqrR9NL3WKhSQeI11d23sRguLpKDtU9Lnme3gKUWo6u1GnepOLhAQq4CXd2nJHLIQqffNl8PVktqEoq13hFGxxoh8yzHfI/sxk= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.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:14:47 +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:31 +0530 Message-Id: <20170703191402.3638-4-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 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: d10565cd-5e8d-4c47-d617-08d4c247c728 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:f05j4yg3q3R0KfCSlT0lDWinqBW5WmzY0HUCU0rNoAeb7cgTYZpMHy5DjiogkGbQve9vR2mG/2b4Jg75RkDxRBOJ+FPW6nW45xg2dXbmSX0ElG0uNU2a2DUyNUmNx7b/JVUjK5Ll7SOkhjAc/mbslx2S+pZ4qxRfDPk/i6b8GKhDZHvlG3nKhNT3KTXMnqLbyqlK9a0B017quN4dlVflVdmz6/MQEu4UTKWkdtpnfmyRWR7C3APRZjjGN/t2Pdz4KbkXq2/YTevozVlBxqDvCfBxqY/zoG3glS42AAZRLM5Yk/a69EgHuKoeG2AYMhXTSZj3/3zvvSgKphfKorZsua0SLy57RPIZDTR1F+JEaN+DTV0Lmw6/iuYoggSfL9upuC0aK6fljKnnYcrnC6BZiv+P1gCAYc1lQdQYgdTv/n00ZLZQQ/zSzRi5VaXXsNo+lMP0aLeqT+WxtkzcLtAl7Y6H8wKrDdHAyQP5e4c61TyH7XxNvYBdWL/HEV9eRD5MY4QrIf7xLSekGC1aOP5sRN/1yGwGOM42KxTOiIeO7f5O7RU+OEwHm0LriJ26PiPFB0CI2Mdc9N4DAAtG4vu2X65CVeENdwx3j+DZyYf/Epf7f0N1aVGhcAXup5E+rxi924BUcHbrok774Kwiq3p66pdVSJ+jsRU1wZMfULCTANPt8KTVuj6Hkoo/9LsEg4WyaeBWloss/A68nfDUWVF7qNuhLrp22jq3CbHKW8ULxySVsiMlYaa/JyJpsKh9ujLM X-MS-TrafficTypeDiagnostic: BLUPR0701MB1716: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 25:q+/qALmi3oVXwFnnNn0GK5IDhUs7dDah1OaeKsZf9ef60jeJNKSGib/peJJbmXAzFz6aSv9M4BQEMsZSxBh8kZkpRTSJerFrRC+bH/VTUuhe/PMVnokZx/SrDQjoBt6Vpk8m0kCdW5vtsV3s3o37gIDX/yELiQJzaVBMun28sUfoqqdGGtusPxPh4haA2u5Y2RSUMmkCrJFYG5UHUMP1iarNZ4GZnDh4g8TWLGhia+rC1jxP/WmRtto9nQ9CONT0dkoorNx2Ke0LSO7Wz8AOinKJ9Azzf/zGV2oQdZAWYJJMTpCr0RScoOraMV+c3iCOSTDhFiUgHa19JE4SwwvadLjW0exjcGNRSW6StCPYh4Qjchz1xvo2acqjUJKID4KMaeJpSSQIsCrTxO1iO6qhSTeVUMT1u5ZcgN0I+X3UeK9rlkOUubtXRfBwAMNLK9/pe/k1/PoVXD/vwMJclI+4C+te+LaTaovdRV3zyq3ZiWmnUD72zEpTKNxFoS30b/ZlhljYhFHfklBKFwyCEZfOcOiM51SoG+yMxERzjW+gVyLg1KoGk/52NfH9mj5n2uHVcGeTWxQh9GP0M3tvLPUrC4WslSh5NrInrVegasBLNHvS41yPgzm64lnVfVS0tQKyIZ4AKbP5K6wusE96SrS5ZWlo3T3A8iGBGDczym2qfwaauV/PKV53ERCkD/sJl+jbI6T4CCit4PllUrnb2H32fIyA7Byvd0/p6zMJN2uu6X6WMnHfitGtiSdMWkMLF4kseem4HjmDosQgBzrVXEHbkfpoZYKkG/2d8B1BU63ogGCrEqz1OcbgYUIkTflsT6+N72snLvvStCBttYoHe9nnZAZClG/AMzIWz4ohzsWhX71VVOBJMF6cwzlIbjBvkjFMVbz4P+t1C3A+HYkDoZyBdJ5ShJgHFuzsMrRRNFaThRU= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 31:blxAkKaMV2PzOxccDujAXe7/yoYVYyBsBUmDY4mHIK5AA39zSkRku6LL+OFNwSdGK5JQOWz4f7Yfw4GBGxZ5dgnKbxLpHMEUBzViXmBbFH9nOd8xqCoGS0twravZ6XZnfSV2ZAWOJ8+JV4YEuup5p98cOHTz6cbpmYKgatDqV/xmCnNNrX+oVCKEOqgTn6SfFFfq9wNvjAGLyCxYH4HOlalRpI06noAuGwDZsOUMin0lwGPpOfFudPkAMS9frMiD7XHdSBC5oF0Gdpt2Th/AM/FJnQdaYaXLOwjqLrOq3I51mHkYHAFP7ewOga8ncRhRVzxpRT2WraVl3E2CTY4iKPF/fPbPDzFrrfWw4WqwINmTq8d76UfSvR5Ee9VPjrvJEVrKtgKevp302IHL9PumSbqsQxSoH+XKVCu49DB1b+S5YR02ikDguaKzxOyUqN8jtxGyqra3F2oxaqyQOFl7V0FBEXkHnXrlS5DZeVn8cZa0edw2ITNa4qDxQvCHlAi3m1VuoxGT03pJzkOT1MFl0rBX/cAx9mcWkiw3HFaTz2wK+cizM8qb4dkRckwYDYj04/1czfiPLCmWJitHxCEyUda3hgRA31fdi3UQj0AeHwLB3zoJwIYI15QSaviTuf7TEkneec5aRPyfRZ2a/cbyHinqI4C4T2AfhhDPAuj7D27TasdW1gtgyinoDmlh8vTxwZKZTQEHHsbtR0eS+eG9Sg== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 20:Ix8przTjQpG4qItYJfnsVdIVVYyKyC7KWMu0REU0OyXug6cmOFIpO/4EMLUzHKijjgIt7SG6Ikr/GyznTAJM0PLkO376DMd3TU4sqdRTH61L2lb5aVsPG69xta3qaSZDWKxW3ztJZzZBP+YCquMKL7p0DtgUra8BVJdSmkSFkdsFCaoqbjLINsK6urxBoiPaDZIolDnOrlZ8w887ctytIDIHORn9i0JYwBklwZ9HnqWmOOcXtDzP7LJRtCJgnMQyPkbnGtmr2m/vxyw+vpCK72vp7us93Imj4Rc6LrJ0cI8ZkzijOgKU0MctPeoxhBNUQ0K1Ge6dyxFkrav/G7BsGLKrgEhqsz4TzO/1Ok7DH3O/xco5xWDATUgiUcHnKsqdTeYgPDqgcWlGdl580wUThh+IsivMhBtJEUH8Qcd8+gSaUJjcHLB5b+ib+ZHSpkILQHDbAPQHJEqCOknj+4QsQTHtA56uf7jUSaibEuk2fzYNb73q1tC5quRtbzUw4wlgPdd3FJuZdUi0xxuKBN9Cd0d/F4QEm4JPRHU6sX/ZNnGZlGm7rE5rt7z+14SxfsPx9bgeawkxLfY7M3fSzFNkmqNVwGaKGJsGTFyyeZjldgo= 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:bJF3BSftqnYp960FhFn7J4IA+23WQajqABu5N4dA?= rF38HjxPXcMbBuU+uu+QkWpz73fji6V8iMW2txCXI3F0/7OJJBex92A9c6umyDPV9vZTQKoxgbhfVW5R4vmS3GFKCxs6cPNeE2cjIaEXREjwTlEwvM6812fOLH6Ka9CziphwMdg4iDmYbDzUM1lHrUtPJUJIw20FXCqsEE4AmUVDNQmYPFTBIbGk0+NvS4s2F4VWdq0PgyD0+2KtTbW7IToU2oy8zDVBk4jNeyxvCPma+Mikp3MtH8curqdqRjEHKX+cqCXvJ3fXr4OAWiULvTCboixsk1pWnLIkE720L/Nw/+rRDSLNeeyRo0+J0Zz7QWI+90dT2kDOd5m8Lz/4x7UC0irDFzGKK9044FG4khrEPAswiFFlLgiDdJsscCiy+8lNpELERjuGMv7Kq0qF4V13QhgJOk4pwFYROkMdpoUVFBBT863uMJI//vHs0gJW0fEk0oC5cp8YEtYd9TgtFK4cl/IFY3bisgMocoR6vfqOLMbMKYnzFnOSMyKVKpiucg0I9Qky9L8X6cMjKuGua9RWc3wK1Rddplx+JrthXMhQTgw0a/Y0WS0ys0eqAj0eGlg83+frn8W04u789pEbxTYeW892yLN06SA76oOkGqLg5zrRY+wAEs9SwcJdUfC6txIBZfqaifdRGZ9J1/N4jXNZhMlJgA5+1n8DMHVqbRdYJLghQCrScIh12w1M5wjeosl3kRR7StIMapel0+rT4EE/xHasJjny7w57Awwg5YtLcP7iqUtXsYLcm0tx/WP/H4wZ1kUQl98v5hT0g6r4zvertllDOb8VexLWizVHu3BphX+AihxH5/yDDwm8LdKlRIbYcW2q6WB2Pg3pGCoiBo2DQHSg1D1SvG+Yeb46ZVKxiyTq5x0GqNaMYyi3np1nDq0mh+l7WcaNMYrlTnwdtWfK/8CeM6GdQuCs6UQcCMAWWG/ZLVI8hjW3ot+AXUAVcwrnXS2nPAW8r0P3gpkWgODkTSdI6oD4GsOvan+bOE6mMajoeYiRSQbnAgX94H8eOkrZeOj6K2fZJNJVaq2wAPz/c4R8kuT9aUERAmyrS7DJStqsSwMaRruIXdimDpAX42dfQX4EWa9NhIp38gPWYk1Fkum/yrR/KUWvURG5yWmHFK+XhsJL/deyYezgEjuM14cdnr8fb9HoKESbacHjbjB+rFIowdWWPuQG5h3upi7Vkn81qmHMhRu4s4yc3mTBi/X388kfgcVtAB7Rsj/eQthp X-Forefront-PRVS: 035748864E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(979002)(6009001)(39850400002)(39840400002)(39400400002)(39410400002)(39450400003)(7736002)(478600001)(53416004)(72206003)(38730400002)(110136004)(107886003)(42186005)(8656002)(50986999)(76176999)(36756003)(6512007)(53936002)(6506006)(4326008)(25786009)(5003940100001)(6916009)(42882006)(2950100002)(66066001)(5009440100003)(6666003)(2351001)(2361001)(6486002)(6116002)(189998001)(305945005)(33646002)(5660300001)(81166006)(8676002)(3846002)(47776003)(1076002)(2906002)(50226002)(50466002)(48376002)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1716; H:jerin.domain.name; FPR:; SPF:None; MLV:ovrnspm; PTR:InfoNoRecords; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 23:IMRE0NND2Jibwg7xsQEMDioo8uEzLoC4jjZiCB9?= t2cGXnmW54Mfnqbvm8OXchXCub+QSK4mDxfOrxxO32/hq33PuK3QWztxpBRZBNxSyo0eUvjnijw0paRZnp+HIckTkgAY4NGuhl3s+q6VXzHwHXb7VUpEoUfx4vcolYMiTzKUcz2If8te8J0HgDzUtmRngaJ+aG9VYuQC3dl4yDPeMG51EhEmboEoHN/nlDJDq0lFHWuWE3nMsu7Jk10OjaWhUvFEewhwYs9swJMxcO2I9tQskwHXG5YC/YRdkOREz7PUn7BNSHH4Eu+NoIh27jZO0Jh1wIspFPSAgiLdkPF1JUN1/7yu4uklGbgSoY4eKO8JimAv3+q8QKr4rkky+ptcjtrQGX8XfhkyJdtgr0Z9/8MKVeeaBbfe395lrA6Qq45KlM1Y7fS/CxeRNLYWbF7V6vsWHJLlfUmVpvjzY0sfO/tYoK1qLNvSkjFyNZhPuKPViCHFUa+aC5LIOboDMcOTg8TWK9bbiNGeBdDAZNR1ZFNUomYplRqxvBapzKtN6Rvz8taGL47z41ExYh681WOvmjtJolp0DbrSsU61WpEURLKYfXPmjWPht80MHqsicMWHBeXdTT8QKRd2AYRAAj1Kcm4sc3d/gTXJyIsJ++WAJbAleXXQVHr9lSQAqMQEQAGho6pkf6ov768vGYfe8XVG1PyIzFKjFvKuEHneudbB+Qxs9L7vNDo/FgtIASSOiMKWsGC6z+llgUlOh8tVOKZJslj2vxSptrwXjBtmEfIfDGhL03kfDxIrLiZIUP0SNdGQx1J9A1v9u+wBKjkKHip7kbA2fO/QF6+JxsxR0bI4K/GecCCMT77FOVUKmuqB1YqcPPsc0Fe2DeQPbybK0cm0QDV3OVU2PzPblFrJhOXVkj/Cx6iJu5nveMD9qw340zChqVYV2amxxK/FtMn1Hn0BPQsr9nHKBuJvRWSPECYv9QHGFKvWqvy2GDJkR9AzEKT8jGg67w61gWgwSdshHmUdehF3HcjS6XW0bWzBqH8YADwKzlaCs+tgcbfnqI1OlTD95naQeB1FBKroCNl8BkmNQkU/KcQpVEpNgx4TRFKwYmEr0y22/qj4YrwXqhTOMUAPFc/YUCF7JS4MheVSeB/ZLJgfxUOIVv/dapjSNa8oO0s2oan2CfXJtKYca8/+AYJbcmBBddMeGiP/ccgzXIKdSo3H9tFT3AXuFqGrBIyq1oUqnE/+7rSxV89YDloCWt0gIkvCPrEIQHSs7Y7NazJgGegGsa84jngxLBftpS/8FBA== X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 6:Q23vtqR1TfwKKADrPwW7qNeev9Cwmp/c3WrowslK?= GrDGlR25w9v11zGe3p8N+9wAffAOZJVYamUGtK8kNk7boeMm5twLrohj4LKWn2Ikgs763mH6yXrYmfaROUYGVt/9QmcE2j5wXtqRjZH700DnGrWv+74WVwjIDjQJlnyUqdr1K1YhTI+DrQKXwtaSuYnlOmkir4k3xpcwqRTPQIPSkQ5+0+qThV0gM6Vj1WL24iXYnQZQiouaycI+0HO3dAqelpXE4UXY7LbTUsV9gNvG30QdJPDM1jxk5OzUEykMfZO4MYUJN0xWM/BF9lvSJCTWJoBxs6j1s6cJAFfe7gYriC2FsSKNiO/gvibvQ5uK30raLGkLGXJDp6BCAO/h/47ld8Nqzkc2P0uY8xsI5EKf1gNsJLAy8F3TspGS5ULTL7ovIGnN2l//+oJjGp6E9vZIBYS1XEcqRTLQROR7UjmeamEIYDPZHngTZUyghE6LHGePHKq8pGwni545y34X+bWKtBo+1yMdSXbNof2BqGzDidKUTfzCbXidR6zSttBImkd7aCQOKxHc4rwRTKwghRIy5/SvR3fWb7YMpdnkfAd6Ro7HL2+LrW44plhbFj1gXJusqVIGS/I7WLPFZ5mINBqLfv/E2spiKABhN/XJLFq2ROhPT5CoA4uJtE16ysFdWr28jBJthqdBUJxQfOo582VB2nVKVaZv/SBzUtROvxiuoa8s7y7YvJuNgj8C/XElyqV0fl9e5yK0W7+DI6s3RRJaM1GK7xsd8IxD2hK9dr9mQSZFeq1EdOfs2Sh/2VDiBj7CtyOW2sAtzgacPaMfsn2cmyh/es6no46kHvNVoppPjxC8mUTQeyUDNuInqnqCx3Hd72Wx3F8MWwDTXmrwXnVFX2rDANXDZgjjLlRrEx8iWk/lGw1sN6vKwjjvqoriQVDLtuSuQgKJyqPkMV9j3kJpIxdI9JUuatw5HELMrOp8oRu5iJWLbI3FDPZyQGWLGlM= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 5:LJjhjTzAoteaj+5SUU3j8Y4926urwahW3Vwp0kKpiFZZDe74BCnEjxgaqmGtBjVYpqeLW6HnuU/Bf9NUh+Ozuxn1D4fVmPeZCaO1NET3IRLVk6TVj82QpYX05H7LCBRj9KQCjlMot2DzNcXS852KsOCSyCvEaxKKo+qqnPpWc/ByVbo1+L/tApTxbZR7wX/7UwkmGfDTsP2I4HuZAF8j9oC5U1H/j/8wJZsRlwb6ZVmzLoJGm0E9WV1jf1hbOwVdZDxQMfKpHP3Id8q7zFNkPB3uq/+wVKWDj/Kex69Cd8Q1G1d/5j9GGzgbxjlW50/jD8VM9zXDYaQezdhLhGyzsDj5+dBwh+9gR9ZtQ5wtC8yTFFxoH6YG6LTqYIJRzoD+Q6fkepRA1fZMtM2qomcZwAhPLWpHmUHsZAvfV3VHRFHI1vLzpF6RWvzTzSNSiaiyCq98WFN2wV+46SO31oP/0gFO8V6mfJrZfw8ywAEFC75lj8b0mqM5i0gFDdMuXooC; 24:ZThInzZ6oC+ygkPcEDVx3/AFZjBr6XkxyED/M7B/A9edRVSuop4xk67mnHHQsmpN4qxhWHCE+Dq9j0zROewWLEM0ZYZEwGaG6PlD0VFHXPw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 7:9KdT9h4maNPCvot50CdNB+ZredqfcxDjZDjOF9N1iOhOM52ttIj74kYOTxGYd8HyNx5tg78T1nudA2KRvcjdbueAGUnQUerfkRh0IUTbG3jjhVW+OSQTRMUBUSkQv8IbDq98Old7NPykKVPAlEEEW33E+87u6UiJmdONB6+dCk7CzMlG3Yz/Jypb5sQanmJPLZcjG87TyJ1q/UPz+EQCaaOyCd9VLGSqXC2K1nNRTkiGIVLH7tQf5tgsgMkk/oK3DVcneKqH7q23KMOWCN3te39zMmUfK4P+meKbfcwEgpTiUdi7XpovIASTVkwQ7301YjkbXPIG59KXwKKp2QOOdxiAX0+C6sF5vHz1CKR4FpB3FXs8S7bfaELDpTrDEi7bsrYpYZOpRdPiygygVBDxbHBxXLDiGX2UQDO0Q0DkaBwFBdfJDxJzDtqUz4QopODY3YtPbuDG2N22rMRW4YjNqVJ7M9BpyZYGSDL3+4PvJL3eIq/AJkXxzmm943+5jXZ5Ig4qht4E+gxlveIwkzEkrH9xj0Pox4iqU9Z/KhWVit3uuGjgGkJVyVjvh/sB79Uft4sPiUrU7cZrSih0tXYR974U3B2XklsuHi+90JykNz82I1d08zK5CfZU/G8sTLphsC8j3lckWKTKYckOyMuYEl3mRK5ROhJunQUrCQhmhqMQOtFvk81ocb69T/Z+UjG3BJeBHFbREVlnRTvYsFeD5ce9R+r4IoqCSRKO5/sRYdk8CP3iskXbaXTc1XK9Z+NcKqoKLOEIc/bFibMmFUCC6Zs6srarB8EwGjc377t+VGU= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2017 19:14:47.1202 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1716 Subject: [dpdk-dev] [PATCH v2 03/34] app/testeventdev: add eventdev test registration framework 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" adding routines to register and retrieve eventdev test cases. The RTE_INIT based constructor approach has been taken to simplify the test case registration. Signed-off-by: Jerin Jacob Acked-by: Harry van Haaren --- app/test-eventdev/Makefile | 1 + app/test-eventdev/evt_test.c | 70 ++++++++++++++++++++++++++++++++++++++++++++ app/test-eventdev/evt_test.h | 28 ++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 app/test-eventdev/evt_test.c diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile index 4f7c25c38..8f4fc5f45 100644 --- a/app/test-eventdev/Makefile +++ b/app/test-eventdev/Makefile @@ -39,5 +39,6 @@ CFLAGS += $(WERROR_FLAGS) # all source are stored in SRCS-y # SRCS-y := evt_main.c +SRCS-y += evt_test.c include $(RTE_SDK)/mk/rte.app.mk diff --git a/app/test-eventdev/evt_test.c b/app/test-eventdev/evt_test.c new file mode 100644 index 000000000..863cbdf77 --- /dev/null +++ b/app/test-eventdev/evt_test.c @@ -0,0 +1,70 @@ +/* + * BSD LICENSE + * + * Copyright (C) Cavium networks Ltd. 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 +#include +#include + +#include "evt_test.h" + +static STAILQ_HEAD(, evt_test_entry) head = STAILQ_HEAD_INITIALIZER(head); + +void +evt_test_register(struct evt_test_entry *entry) +{ + STAILQ_INSERT_TAIL(&head, entry, next); +} + +struct evt_test* +evt_test_get(const char *name) +{ + struct evt_test_entry *entry; + + if (!name) + return NULL; + + STAILQ_FOREACH(entry, &head, next) + if (!strncmp(entry->test.name, name, strlen(name))) + return &entry->test; + + return NULL; +} + +void +evt_test_dump_names(void) +{ + struct evt_test_entry *entry; + + STAILQ_FOREACH(entry, &head, next) + if (entry->test.name) + printf("\t %s\n", entry->test.name); +} diff --git a/app/test-eventdev/evt_test.h b/app/test-eventdev/evt_test.h index 5ec7a2e32..05506f714 100644 --- a/app/test-eventdev/evt_test.h +++ b/app/test-eventdev/evt_test.h @@ -94,4 +94,32 @@ struct evt_test { struct evt_test_ops ops; }; +struct evt_test_entry { + struct evt_test test; + + STAILQ_ENTRY(evt_test_entry) next; +}; + +void evt_test_register(struct evt_test_entry *test); +void evt_test_dump_names(void); + +#define EVT_TEST_REGISTER(nm) \ +static struct evt_test_entry _evt_test_entry_ ##nm; \ +RTE_INIT(evt_test_ ##nm); \ +static void evt_test_ ##nm(void) \ +{ \ + _evt_test_entry_ ##nm.test.name = RTE_STR(nm);\ + memcpy(&_evt_test_entry_ ##nm.test.ops, &nm, \ + sizeof(struct evt_test_ops)); \ + evt_test_register(&_evt_test_entry_ ##nm); \ +} + +struct evt_test *evt_test_get(const char *name); + +static inline void * +evt_test_priv(struct evt_test *test) +{ + return test->test_priv; +} + #endif /* _EVT_TEST_ */