get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/26256/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 26256,
    "url": "https://patches.dpdk.org/api/patches/26256/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20170703191402.3638-13-jerin.jacob@caviumnetworks.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20170703191402.3638-13-jerin.jacob@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20170703191402.3638-13-jerin.jacob@caviumnetworks.com",
    "date": "2017-07-03T19:13:40",
    "name": "[dpdk-dev,v2,12/34] app/testeventdev: order: add test setup and destroy",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "bb51dd9a66f44c42a78cf8a28f8387e7d9e0901f",
    "submitter": {
        "id": 305,
        "url": "https://patches.dpdk.org/api/people/305/?format=api",
        "name": "Jerin Jacob",
        "email": "jerin.jacob@caviumnetworks.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20170703191402.3638-13-jerin.jacob@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/26256/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/26256/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 196D67CE2;\n\tMon,  3 Jul 2017 21:15:31 +0200 (CEST)",
            "from NAM03-DM3-obe.outbound.protection.outlook.com\n\t(mail-dm3nam03on0070.outbound.protection.outlook.com [104.47.41.70])\n\tby dpdk.org (Postfix) with ESMTP id E6A007CD8\n\tfor <dev@dpdk.org>; Mon,  3 Jul 2017 21:15:27 +0200 (CEST)",
            "from jerin.domain.name (111.93.218.67) by\n\tBLUPR0701MB1716.namprd07.prod.outlook.com (10.163.85.142) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id\n\t15.1.1220.11; Mon, 3 Jul 2017 19:15:23 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=wMFg6OeMo55epK1Qk4AHi7VO8hKZX4Edu1tSlz2HOik=;\n\tb=Q9LBfo2IrFqesYiCsVF6W04IMP8SM6hRnK3plaAFABrWPH2FnFyBeRa0zzIFB76lpdF4oT/DTN3dvjGN92PJOvehvcWc4V2q57m5SaatHbzvyfkXZYBzI6J0rxUEipx3Zd0f/+0u+Rj0aygP61dpLlsfeMWlhe/ErsFQzzFZJBk=",
        "Authentication-Results": "dpdk.org; dkim=none (message not signed)\n\theader.d=none;dpdk.org; dmarc=none action=none\n\theader.from=caviumnetworks.com;",
        "From": "Jerin Jacob <jerin.jacob@caviumnetworks.com>",
        "To": "dev@dpdk.org",
        "Cc": "harry.van.haaren@intel.com, bruce.richardson@intel.com,\n\themant.agrawal@nxp.com, gage.eads@intel.com, nipun.gupta@nxp.com,\n\tnarender.vangati@intel.com, nikhil.rao@intel.com,\n\tgprathyusha@caviumnetworks.com,\n\tJerin Jacob <jerin.jacob@caviumnetworks.com>",
        "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>\n\t<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\n\tBLUPR0701MB1716.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;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:BLUPR0701MB1716; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BLUPR0701MB1716;\n\t3: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",
            "1; BLUPR0701MB1716;\n\t25: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=",
            "1; BLUPR0701MB1716;\n\t31:RSDkwLVEwepZ0QaMx0+LPLP9bBezop91YH1AWb5Zt22h3tvMNemM3Ut6IFG9M0ohxqGpr4azO9CtEFxoE7wLZ0/kcrqTsPr/sqxzy5nS6kR/3KKK0rjOgOMt1n70JxaBJOisCDJXWcVkMD4PMgA/VCr6MU06bSYUecnUph21GCAZxRJ+S7qjbyO8QBmQLHrwNwB5bn31bQYT8ezDdUQcQhp3AmsQaJ2TpMTV6xrG+phjL2SGeRp6Oy+vnaaq2teeLD0ICwD45RWuwnuU3AQS7ZlTn87Y6bFX34d0swet4NrPgiFpjJbK6awQipw1giUdvYybNVEG3Lq9tefRHeUvhCk3AXFlYZGqzqCsgYBJkt91oMusriyLcf4YjJMWZAT7QF2K8OOYA40R/4lM+swm4yCbJOvP/ZroTiCnXPYQVYew4hHv3N2bClsNwN1UE3fbG94g/PIADovdZv32IcAPWeaFBJ82bcHCKFvLm8Yg/+hPVG7o1VaIHjhrHHa0NrkGf/plbZ/1eawjKcc6O/0EA+NS8k1ctoMXM1B1jX9qPaea1vt6K2kpK8+1GvQZbI80s6Sj+pjK5DDu1rvM0X7hdtcRdM3bzJYubBEfqmFwCw4/kzCq72r6LYRFa8qRMWGvfFXBnvN9oXH5K/5xeo5ynTv4FSSjfxVfPc+L/sEwwOI=",
            "1; BLUPR0701MB1716;\n\t20:yjLoUHsTogr6J6R3L/DVTYsNHr/go5dOls0XIrfLTYS601D6y9rAwH1j0t+gGIa5AxiBms8rM6C9wfce7itXBbytnqjdjjbvQEPs2KpPvHzAwUnAsS/S4kJl6rhmvULQpnX+jvzD+5TfKtW1NayxhR4FUHkNrMxciNC4n5o37+L3/I6ud5MehXOHrjZS4s+Wyj9TegoO1ryM5sJ6DjD1KM60L/YZ/eCBRlnlcGsQ87Uwydu85EBbEnPDLURU4ccKtysYxzFpA6E/x3YMcOQbwDiqYVnPoIxXLwphc5Ozrmyk4YWrrxvgSOG//fqexfoQKYzJAHoH8U4qHP0tIcKhYlgNYrz3TcR9cof8sPnoLyvg6Etjb+zX8CUDlk0aahq1gtLXCJr998AZLDdC1p9wh8g5Ku2bK9S27PJP7nitcCwFAbww/SuND5K+jSmqo2oTnOsgi4evqEPmt5CwN4MIL4LXIbOG06JAJCTCHYl9feq8nYY1FIrHyUMneKEByC7ez9A3/QDGnyDgnU34+KZcho9r3LnSHUHj7LKy8KM0jkdWUwJKi42fXsXVwW4qBgpAKoimLXdT/9cr86ZSi5L8d1F0YDdLRoC1eh8VOzaJ0pM=",
            "=?us-ascii?Q?1; BLUPR0701MB1716;\n\t4:p1PGZ/sv2MvQrkJNadC/KTy0zRABRHeh9ZXGdLTh?=\n\t0WO68e5xyppBLzfP9z5jAUs2X5vP9cmDKD5GCqXK5ta08vveGuudLvqxR2mzkESOZKXOcF0S3u1wciCuzIIjWXmu+LxRHFQQf1wzeFyhhe26P6H2jZj9WB8M4n/n/aGVn6Ohb2XGnnKEWS3AeqRuEbVqeseZOTiAQOcRmvlf5ISfPBhwAAOUZr6akqsusxPL3gtOC1FtYACL8kLGiAWVKcikQD7osUru4ETye7NxnWzfEjGY+SQXxNZDxIrej4IktCnqs7BR7/iPIWMmSZmGhr2qa4xVu5XKFETiCCb6zOl1EPaXoBIRxroVONF0Y0UGCm3OyhOXX+tiNCR7u+JjaT34WFjWf0OBQJc6PH6P8UUeUeMLq4UrU+XGhk2IftEMHv8FpP7sfmaM7DKes9lW6dKveIa8w7BPwVFr5a9OxT+LBcT9bx4CHjv520hqAY8dv6KhZU3hVLZv0qs9wqsIhmwSuqEJXJV7cGPAYof282bFBwdJaxbE32xjgyyNuFpvXT1yHB4a1QyjFJUy/blx/rdaieKKdfi6ZoXUdQiiRxWXcSPC87ajmSE2yW/kM6+bi4tEp4HSI8XMkmAVAPMSNR+eWfy0bXRzz6yNMvwVivx1KYhPUhiGKflyPpslcSrbbmvd7Qcj/CDN5fwJjMvIPlTuosnWJRF/sGcESkkXPHpgZm3L06Iu6Vv4IfN0bJnYXJFdMiV0sCFw/Zquxq9i7UIR23XdDZV6nGIwD22ZqDovOGjObnkXM+ZTyhRHS/syDaSS0cNnOOKit8+PqJOHWk+vrYJuEPGuhnAiCw4k0OMExG+Ox/j1ZX9byCSzAWEpujAJB/m+ts7ZUnavUisCwbsjcwQU9r/E93FkoO/CT9kRz/OHv4OuYLvhjaJz5ofIuxDS+Cn1oUSOTHx8IFdUMEltUiG9mIMHUx9RBk0WX5IzGgbB2G41LwImv5Nzk47Xhpedzhs4Y1JaEcl7sBOqlz+Jk6lFw+44wx0zYey3KVhHj+jlqs9a2bjoWooHJBGOxF/Ie/J3bj1uwrvitOKBQWCoNLAPzO14YxN6XfKv06piQblIxm6sPEqTg6DuA1KgWNGbuULALytJsoBXnqzDcyGbhSgelH9hTq5c2wjCkp819XgMzfb9ATjaZZjQ3W22Qu0uZBkAP8/W5cvNTJvtwNSC6UBPDUruYBXV1WRqizapfXDaUapEWMQ08j279SyYQYV+5BHBr+hLYgEkAZaUc+sb",
            "=?us-ascii?Q?1; BLUPR0701MB1716;\n\t23:+0e+yXZGDy42co0A7aZYiF3soXTIWZTqm1Hpdhe?=\n\tzkV+E7KwTxhc+cH0i64OG+0oRSBimm+kt5i15QVz6JWyrpjqvsZQre+OEZhsu8fgKXVNq9jM5abnx3HrKcHArspupuUZERKqysvNG7Qzal4DfiW4tt3ERo+1/36hCLieEE5ZZG/cg5mgGF/JM07WAL83CLyXTF7pdkMRi0F8Bh49A6X1ebM2tjj0xTSGYkxUhUJSP3JL6Jd4jidvj3C6dMU/hB+q5vl5ZEA3i3X3qfO8Tr3OoYTXZb8woXDQAj/VSWndpgnb6/wGhjpOtx4Pelb35Fj9pXZO63CctB1LjgXaUdgHY1ju5eTAqKVedkUIm3jRuNrttLYdfpADJ9Su98LK7qkfApvn3E4ASUgbfc0OOVUZLVxDEjaE//DB0LirEGxa1V8Ca5I00oiV3CL0pQ+NUkjglW2aPcOhDGRWL/Zc2ewKMryHp6yEyIsEALf8Ot2eML4Qs+CdspkTQ3Q5u85uvsio7CyziydTVRNJXZl3tS/ZbB6nUhj02IxwC2Sdl753adncDxicyJZ+6mxLeh5oMttL1HU1xea+m8s/bUsARA6hFujaM+Gx7K385Y+3W2HAnHSBeHkvb5j1RrIK8OcbCrAAG9lbZcGZgRqo0nlClPhvaJxILCucsXpbFvTlFWE+QEJPHC9xWC9xYl0kk3T+jnbfqinYKi9Kgil6xc2W+WqsatFrx8u8jLvm8GHjm90+3+Dcb6bXP44wMyTMOXIRmqDb1QUVEScq/HiOCMH9XAGf/RMwdx+WkAdoiN7j2soDZh+L46EbchPr5Ewc6V+q4VtklnUZXu5twg1XBmFTo+1SbADZx+KIqv50H2viR5hZwg8BEG/WTEwL1V9R22xZQgmTlfdNGLOIlMoVHNZQx7gDi2xA9/cgIMltb29QsLavDejEV0dGwXnRsFIsejJqXnjL/cyOdFs2q8Kf43UG/izDShRVA1/yah1TvRu4CyASzDh2huqT8cLLfHlN73xsCU3oSJCfqCoHXPuz/EROZ7pU9cCcRnpYdMBtRh4pOlHDy6bBWyqUE4hQj4jLF0V2C01rKY4EyLAOZWShRApqJZwjPhz9jGF4ELHr5AsHzhIgnGpEquWBoW1H1XJtiFuSI25Tevg0+rhbhvS1qOl+ZrpZH0nB6clLrr8OmBY5BR1E=",
            "=?us-ascii?Q?1; BLUPR0701MB1716;\n\t6:aJ9P+Zy57A3EtltG6M2w8MkFRBXnLiWQ76PBf0WD?=\n\t9Woynrx7VQcQ92A6hQU1OLalpd0yLKQYa72kqPuuf9jVYatJKxx1LHnlR7UTvFcT/iWRCc4345jPRSsDOK+N/Cwe3LD0cfHAuR0RTCq28fEahSbfiLLi0Av3Hjt/4W5QoAjvZjJI4o8241kz5AKoZZgCOYPTYRFiuOh/QAbNsuPtdxyMg5nvIgWezKabvFaQ8PuGIcjJqOO37Fjffb1Pc0TEeLY4p7dlUoIOndntg5kwV5sSr4wfdq0GG5e81g08TuZgXFW6voHskEoBHqvSjbe8lFJoF9mhAqle6oaLWmcqoJj4VCGszkHI3mp0jJerSAWio3Lw4KqNhcGqYNgIs/GjWmMQy0394p1cLMTf8QhbxqnNclu3zd22BCeWTZxxANpfpmPMpSavpk87jg5qeuMvmvgnCptfXyMoDy97eiuLs0cmnSN3pPRpGh6+ruDbaLQTww+6PlZ9a64VVPlU7L8lMd+SldEdZ9CMC7qmFxrzS2H47XWt7xZzDmDD4RaMe8UoH2xQYmNkTUw86s7zcbFZRqZdcWq0fw7Q7gHthlJoIBC7Q27DG1QiHUsV3oXcYOJH49PYKYTSWLegOp1Ph7Rgyp45fGfvdqhLDvk+KXeyKb7yhsMEsxHZ5z9KOc8aqnA44IUL6M4GuQIyevIJ8SNmPi842dqA4oRT2BDOWPh04vBPQt37VXSHQvl83PQiDy2b0kfIG0FCeWeUMiqPTPG9sy+BkZTrFgTNXNrzpJB8SvPyBe4ZqkHHfPHjhhYLlvklWndCOXmcxjJTe7WboixZMkH6woxkDAyitrUasluRGEXAIhNAhhFWplxzIxT7nV1cf/ecxN0w6DkEeOOUJHWDxHxeXsm9ivaYdt1ECPZFGFr4gzezOtMFDHW7XZW+JpAxBET1GCUN5NGsUp6J1d/KWUcXjZUHNpSqmF46b+TGcqzYTwHJaxOVKtgih3W2nbQ=",
            "1; BLUPR0701MB1716;\n\t5:17MCvwiF35t4OeD0kEWgzegG4N0kbxWlXc18QXgBJAxldY7KQ39SX+64dJAOuS2q6aogAYNk3hNhDjJNdDA8c/jsZgu1UrIt5WdPnyu9+EO9a6xFx8ffAKcur/cm4Z3jgAKYpwOBlyNb4HtYnsosX8gfDUoCroaXiFAEayvwRUjbFocQYhNwdIknMIQqJgmtxNP7iihhX0N+yLHt0VSus9k/YC3HwTXI8pjPEAEPtxI6f2Ll1to9Y6DaEYhENZ7eatDkH2jvKqnyj2UjvU2lVKmTzOTZQrkkky2vUiLE0/0TRZzZ+C32gepw4qahfZpl2n1w4tbJC2b17f7GRpU5y5NHkG873DsrgeEJJSuXrVe5JAQmQ4ytoMe/Y7KRQA0QcEluN4km6MrRioeRKzI9lh09ca0YmLRqlistNtdMQaudlS1FK4bUTU9z15w6TTV/3HFT6SfRxQvpJ+ziHV4e+xiREHFnXlPp/b3E2BAFbuhGFD0lv+/kq86EWRadgR29;\n\t24:iPQmegnKIjIy50LaGgAIoqDnRsDWIasNh5IqA2/DEgTPVe0VP4yeksLUiSa07qA5FUir55bBrJmk7tR434F+SMOO+FQRBXfC7FCFXdthM/w=",
            "1; BLUPR0701MB1716;\n\t7:wMfAb8Rm21LUnfbIHCLEiEfkNZyR6CeNxIte91IHgoxtl5j6m51pyEnMKhU8OhOnzwgASOw+e98GKUr6XaQSozpWPIEihlV3MIq2vBw5GQw0DbrqH5TWFeI2ZxUlDXJFeJZ/8//J9Vx6+2uSxx0cxislmCnHGyHCA0u8Ox37evpM1ATetsQOS9mwLxGrcoPYLWLMI65jC3IV1OcPohz5cXZ0Pd0RNu0YdyyLcJ+0sG1oT+IAhWjRdEqntHEDb1mP4GKAPVXfsu+lFnVS85CWN49JL/Zv1oXbFNDIwhzqqRetJFjsVXv2TjPd4NJYJN0o+DTK71u+Ti9NKjrTWx6X2MoE3DhyWpzns6CGT9CRL2Jl5wdhUExie7s3i8Dz2HJ/rv8KxjJkuJdL0KWsPYY9HSbpS1GOOVU7Zk5QWjIyHxD8xl5sgL6CLAjMktcGByfgj8sT3Fl11VI8Pcz6WdAArwwnHovcWqg1GnGWlJVoedPLvGnSkAC0vPaXEgxPMFtWEiiSEt3S1rw7tsugLe3wDeepYKpxgd+8YL8VirxWODoVkmtdEy9l0SoI43itbRPxa7bc9nftzoRvbQmY6J7oVpABAO2xpDORWVIfVYEU6JdmTj/Cn/ISwqFdFqthRXpIlbDdFORQW0mmzwPgdWyGWPvZC7T9mS83n/xzIW4Sw2uLvaAdvJ5GqJxjNgdrG2R4dooqexgS89WXsH/Ee5q+98Um965G4r7VHZzFytwAh5Bx5WnNplfaKvRySeycqn9fqPQN6Dj+zrWKRYFSqs9NfbstiN2038/Td2S2dVmGlIY="
        ],
        "X-MS-TrafficTypeDiagnostic": "BLUPR0701MB1716:",
        "X-Microsoft-Antispam-PRVS": "<BLUPR0701MB1716E0AF158D2A031A4395E1E3D60@BLUPR0701MB1716.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(236129657087228)(148574349560750)(158140799945019)(228905959029699);",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(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);\n\tSRVR:BLUPR0701MB1716; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:BLUPR0701MB1716; ",
        "X-Forefront-PRVS": "035748864E",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(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);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1716; H:jerin.domain.name;\n\tFPR:; SPF:None; MLV:sfv; LANG:en; ",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "03 Jul 2017 19:15:23.0747\n\t(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\n\tand destroy",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "order test has the queue and all types queue variants.Introduce\ntest_order_common* to share the common code between those tests.\n\nSigned-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>\nAcked-by: Harry van Haaren <harry.van.haaren@intel.com>\n---\n app/test-eventdev/Makefile            |  2 +\n app/test-eventdev/test_order_common.c | 92 +++++++++++++++++++++++++++++++++++\n app/test-eventdev/test_order_common.h | 90 ++++++++++++++++++++++++++++++++++\n 3 files changed, 184 insertions(+)\n create mode 100644 app/test-eventdev/test_order_common.c\n create mode 100644 app/test-eventdev/test_order_common.h",
    "diff": "diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile\nindex 168e56416..acbf74ca6 100644\n--- a/app/test-eventdev/Makefile\n+++ b/app/test-eventdev/Makefile\n@@ -43,4 +43,6 @@ SRCS-y += evt_options.c\n SRCS-y += evt_test.c\n SRCS-y += parser.c\n \n+SRCS-y += test_order_common.c\n+\n include $(RTE_SDK)/mk/rte.app.mk\ndiff --git a/app/test-eventdev/test_order_common.c b/app/test-eventdev/test_order_common.c\nnew file mode 100644\nindex 000000000..b8ba8a0d1\n--- /dev/null\n+++ b/app/test-eventdev/test_order_common.c\n@@ -0,0 +1,92 @@\n+/*\n+ *   BSD LICENSE\n+ *\n+ *   Copyright (C) Cavium 2017.\n+ *\n+ *   Redistribution and use in source and binary forms, with or without\n+ *   modification, are permitted provided that the following conditions\n+ *   are met:\n+ *\n+ *     * Redistributions of source code must retain the above copyright\n+ *       notice, this list of conditions and the following disclaimer.\n+ *     * Redistributions in binary form must reproduce the above copyright\n+ *       notice, this list of conditions and the following disclaimer in\n+ *       the documentation and/or other materials provided with the\n+ *       distribution.\n+ *     * Neither the name of Cavium networks nor the names of its\n+ *       contributors may be used to endorse or promote products derived\n+ *       from this software without specific prior written permission.\n+ *\n+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ *   \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+ */\n+\n+#include \"test_order_common.h\"\n+\n+int\n+order_test_setup(struct evt_test *test, struct evt_options *opt)\n+{\n+\tvoid *test_order;\n+\n+\ttest_order = rte_zmalloc_socket(test->name, sizeof(struct test_order),\n+\t\t\t\tRTE_CACHE_LINE_SIZE, opt->socket_id);\n+\tif (test_order  == NULL) {\n+\t\tevt_err(\"failed to allocate test_order memory\");\n+\t\tgoto nomem;\n+\t}\n+\ttest->test_priv = test_order;\n+\n+\tstruct test_order *t = evt_test_priv(test);\n+\n+\tt->producer_flow_seq = rte_zmalloc_socket(\"test_producer_flow_seq\",\n+\t\t\t\t sizeof(*t->producer_flow_seq) * opt->nb_flows,\n+\t\t\t\tRTE_CACHE_LINE_SIZE, opt->socket_id);\n+\n+\tif (t->producer_flow_seq  == NULL) {\n+\t\tevt_err(\"failed to allocate t->producer_flow_seq memory\");\n+\t\tgoto prod_nomem;\n+\t}\n+\n+\tt->expected_flow_seq = rte_zmalloc_socket(\"test_expected_flow_seq\",\n+\t\t\t\t sizeof(*t->expected_flow_seq) * opt->nb_flows,\n+\t\t\t\tRTE_CACHE_LINE_SIZE, opt->socket_id);\n+\n+\tif (t->expected_flow_seq  == NULL) {\n+\t\tevt_err(\"failed to allocate t->expected_flow_seq memory\");\n+\t\tgoto exp_nomem;\n+\t}\n+\trte_atomic64_set(&t->outstand_pkts, opt->nb_pkts);\n+\tt->err = false;\n+\tt->nb_pkts = opt->nb_pkts;\n+\tt->nb_flows = opt->nb_flows;\n+\tt->result = EVT_TEST_FAILED;\n+\tt->opt = opt;\n+\treturn 0;\n+\n+exp_nomem:\n+\trte_free(t->producer_flow_seq);\n+prod_nomem:\n+\trte_free(test->test_priv);\n+nomem:\n+\treturn -ENOMEM;\n+}\n+\n+void\n+order_test_destroy(struct evt_test *test, struct evt_options *opt)\n+{\n+\tRTE_SET_USED(opt);\n+\tstruct test_order *t = evt_test_priv(test);\n+\n+\trte_free(t->expected_flow_seq);\n+\trte_free(t->producer_flow_seq);\n+\trte_free(test->test_priv);\n+}\ndiff --git a/app/test-eventdev/test_order_common.h b/app/test-eventdev/test_order_common.h\nnew file mode 100644\nindex 000000000..a9dfb647a\n--- /dev/null\n+++ b/app/test-eventdev/test_order_common.h\n@@ -0,0 +1,90 @@\n+/*\n+ *   BSD LICENSE\n+ *\n+ *   Copyright (C) Cavium 2017.\n+ *\n+ *   Redistribution and use in source and binary forms, with or without\n+ *   modification, are permitted provided that the following conditions\n+ *   are met:\n+ *\n+ *     * Redistributions of source code must retain the above copyright\n+ *       notice, this list of conditions and the following disclaimer.\n+ *     * Redistributions in binary form must reproduce the above copyright\n+ *       notice, this list of conditions and the following disclaimer in\n+ *       the documentation and/or other materials provided with the\n+ *       distribution.\n+ *     * Neither the name of Cavium networks nor the names of its\n+ *       contributors may be used to endorse or promote products derived\n+ *       from this software without specific prior written permission.\n+ *\n+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ *   \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+ */\n+\n+#ifndef _TEST_ORDER_COMMON_\n+#define _TEST_ORDER_COMMON_\n+\n+#include <stdio.h>\n+#include <stdbool.h>\n+\n+#include <rte_cycles.h>\n+#include <rte_eventdev.h>\n+#include <rte_lcore.h>\n+#include <rte_malloc.h>\n+#include <rte_mbuf.h>\n+\n+#include \"evt_common.h\"\n+#include \"evt_options.h\"\n+#include \"evt_test.h\"\n+\n+#define BURST_SIZE 16\n+\n+struct test_order;\n+\n+struct worker_data {\n+\tuint8_t dev_id;\n+\tuint8_t port_id;\n+\tstruct test_order *t;\n+};\n+\n+struct prod_data {\n+\tuint8_t dev_id;\n+\tuint8_t port_id;\n+\tuint8_t queue_id;\n+\tstruct test_order *t;\n+};\n+\n+struct test_order {\n+\t/* Don't change the offset of \"err\". Signal handler use this memory\n+\t * to terminate all lcores work.\n+\t */\n+\tint err;\n+\t/*\n+\t * The atomic_* is an expensive operation,Since it is a functional test,\n+\t * We are using the atomic_ operation to reduce the code complexity.\n+\t */\n+\trte_atomic64_t outstand_pkts;\n+\tenum evt_test_result result;\n+\tuint32_t nb_flows;\n+\tuint64_t nb_pkts;\n+\tstruct rte_mempool *pool;\n+\tstruct prod_data prod;\n+\tstruct worker_data worker[EVT_MAX_PORTS];\n+\tuint32_t *producer_flow_seq;\n+\tuint32_t *expected_flow_seq;\n+\tstruct evt_options *opt;\n+} __rte_cache_aligned;\n+\n+int order_test_setup(struct evt_test *test, struct evt_options *opt);\n+void order_test_destroy(struct evt_test *test, struct evt_options *opt);\n+\n+#endif /* _TEST_ORDER_COMMON_ */\n",
    "prefixes": [
        "dpdk-dev",
        "v2",
        "12/34"
    ]
}