get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 19573,
    "url": "https://patches.dpdk.org/api/patches/19573/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1484679174-4174-3-git-send-email-hemant.agrawal@nxp.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": "<1484679174-4174-3-git-send-email-hemant.agrawal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1484679174-4174-3-git-send-email-hemant.agrawal@nxp.com",
    "date": "2017-01-17T18:52:23",
    "name": "[dpdk-dev,PATCHv4,02/33] doc: add dpaa2 nic details",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "719717dd4f29b2c1e3fad051c3bfccc9d38994ff",
    "submitter": {
        "id": 477,
        "url": "https://patches.dpdk.org/api/people/477/?format=api",
        "name": "Hemant Agrawal",
        "email": "hemant.agrawal@nxp.com"
    },
    "delegate": {
        "id": 319,
        "url": "https://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1484679174-4174-3-git-send-email-hemant.agrawal@nxp.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/19573/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/19573/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 1821737B2;\n\tTue, 17 Jan 2017 14:19:28 +0100 (CET)",
            "from NAM03-DM3-obe.outbound.protection.outlook.com\n\t(mail-dm3nam03on0066.outbound.protection.outlook.com [104.47.41.66])\n\tby dpdk.org (Postfix) with ESMTP id 50CB22BA2\n\tfor <dev@dpdk.org>; Tue, 17 Jan 2017 14:19:23 +0100 (CET)",
            "from BN6PR03CA0005.namprd03.prod.outlook.com (10.168.230.143) by\n\tBN6PR03MB2465.namprd03.prod.outlook.com (10.168.223.19) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id\n\t15.1.845.12; Tue, 17 Jan 2017 13:19:19 +0000",
            "from BL2FFO11FD005.protection.gbl (2a01:111:f400:7c09::124) by\n\tBN6PR03CA0005.outlook.office365.com (2603:10b6:404:23::15) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13 via\n\tFrontend Transport; Tue, 17 Jan 2017 13:19:20 +0000",
            "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBL2FFO11FD005.mail.protection.outlook.com (10.173.161.1) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.803.8\n\tvia Frontend Transport; Tue, 17 Jan 2017 13:19:19 +0000",
            "from bf-netperf1.idc ([10.232.134.28])\n\tby tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id\n\tv0HDJ8m9021741; Tue, 17 Jan 2017 06:19:16 -0700"
        ],
        "Authentication-Results": "spf=fail (sender IP is 192.88.168.50)\n\tsmtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed)\n\theader.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com;\n\tnxp.com; \n\tdkim=none (message not signed) header.d=none;",
        "Received-SPF": "Fail (protection.outlook.com: domain of nxp.com does not\n\tdesignate 192.88.168.50 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;",
        "From": "Hemant Agrawal <hemant.agrawal@nxp.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<thomas.monjalon@6wind.com>, <bruce.richardson@intel.com>,\n\t<shreyansh.jain@nxp.com>, <john.mcnamara@intel.com>,\n\t<ferruh.yigit@intel.com>, <jerin.jacob@caviumnetworks.com>,\n\tHemant Agrawal <hemant.agrawal@nxp.com>",
        "Date": "Wed, 18 Jan 2017 00:22:23 +0530",
        "Message-ID": "<1484679174-4174-3-git-send-email-hemant.agrawal@nxp.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "In-Reply-To": "<1484679174-4174-1-git-send-email-hemant.agrawal@nxp.com>",
        "References": "<1482988612-6638-1-git-send-email-shreyansh.jain@nxp.com>\n\t<1484679174-4174-1-git-send-email-hemant.agrawal@nxp.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"UTF-8\"",
        "Content-Transfer-Encoding": "8bit",
        "X-EOPAttributedMessage": "0",
        "X-Matching-Connectors": "131291327597089180;\n\t(91ab9b29-cfa4-454e-5278-08d120cd25b8); ()",
        "X-Forefront-Antispam-Report": "CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(336005)(7916002)(39850400002)(39450400003)(39380400002)(39410400002)(39860400002)(39840400002)(39400400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(36756003)(68736007)(31430400001)(50226002)(54906002)(97736004)(92566002)(47776003)(6916009)(2870700001)(8656002)(356003)(85426001)(50466002)(110136003)(305945005)(5660300001)(77096006)(5820100001)(38730400001)(76176999)(4326007)(86362001)(8936002)(33646002)(2906002)(189998001)(6306002)(2950100002)(8676002)(6666003)(81166006)(104016004)(105606002)(50986999)(626004)(106466001)(23676002)(2351001)(81156014)(30001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2465;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BL2FFO11FD005;\n\t1:vdJySZnldVHlDeeO15G77dtJ/aI+BKxUxNoEqXRrp2OsoXmxx3OERjgEippTKv0ZS3Ku7i6tMMf9hisru3KQMuqZgQRxvefree2yZGSi5H49COprmz4uquU5rRM1/72B9x5UapOBwWiCck+byQn7w/1IiW2oysOxoyHltSdxjMBMHo76ohh++MiqP5jTEvQM9QNRaj4ofmKvdjkW/sQjqpKlU1qJ5BGmtFF13KIftscFfhjVmh00D0GChRwlbAgE7pr7iDQJlpCr1NQR9LRsm4y28UMlMAs1mUGYpUD/J7Nn51lQJn1BuWb7Kklmpwtu2qwzXACn04z/ihhWZisXcQbCeenuWUjSp7J4eOE8uDCxtLCEoUkL/T+ZJy/9sxaGVW5/cfGLYQeBC0jZaTC4PI06rcEAfVOdAkJeuqFodK59N2wbS+DNErbdUq0CGvikQ8a3cSiz2+jJSvb5hEPf4Z9C3ghhwMDQHROi7+tDhJDxdR2u5oqWE6A7vByyn8DHHn/RMyxEB5fHXQiJpwzlQsOsTarZbq0ufhxtqpwaJc+VNLKTL0tBojaB0SO+5TMUV4hZJ8at8WYBqWz6wWj6G9bV3RbFTknpbDdgnzImifnv5dRau5breZoQIQ8ROUpX0v6kfF2bQvuO1g35qEFxdoXew+kN9yy6+RduhwuBd8HMugyH/aBWVLzjTuwtfDMB77RyYst+73vMHHx7XL5MaqJ9q7Ync3Jjfav4DAdqH4kbqVVwV2Ux7Idd5cyvhP0F",
            "1; BN6PR03MB2465;\n\t3:M7wmBc6GxmD0SXbGVQJF8leKnO/2/eyYq0NfADKter/b/hQ4aQFHu8hKS2WHxbtyYz24axOXy7pxm3wOV9EioVCKylkArgY3c5vVIi8t35PVyYBpdncdw0QBXXH7QgGmt9m5c7Dd259AXGnCDWPitBnoxe+vGouk+6+LUFrBeBg0ryn9s386Ai7jb0uxK7jInoKvBYjk9EHvpGTAujT5Eg3ja255c/sTWJbCDNSBniA3fX8PXqP5PtMRswU+1X19HaFRxdTCoSi3ergKAQvhKSBcwt0iZrkRx2hO9y0XJ/YXHd+8/bap+VmyD/Ha4sC+5e9QeJ4OIGPY90Jba6uJw6810K03Ypqce6sWyHMJ+iKjvP8P+No/s868z9u81z74",
            "1; BN6PR03MB2465;\n\t25:6WQmc50CrXsd8o+x3gYvMScvyI7wTiCfWCbyIrt5uPcLHrHs6BxJsCXZltbxo9t3rHBNws88p0ZoO8SzLzyIwJahVxwuyA9OnChE5qs+hB5jUT4Iv2mZvU5JsJj69G3IYBRaY7L+kxB5EMOgCpwgv/A60ur3JJrTLajz7qP45FglXmNbtAq7UPVuZxZICQWy6hDVbWT7XPqVaae8z+iD83R3hqxXqfwkntGS/5OBtOz+ynNYqxaG7SIkOp2cGJEaFHZntG1USInhMhFLq4xxOwxqi4Tsnlj9V0XZXtMDVyYbQxzwgbo4vSYD7XO2yxgU6Imtu1FZuU59AlzS+DCxwDDEIeIiROpp8R9D3IVt1vugolg7gPgjXml8LdHbXTwaP+attW2uhvae/gCfNuNsK86+Q752O/bLtZZZLTYEkDk8Woo9j3aBNUBIJhHDo4l3Cvt9NiOKPDtDee7BatCXDfE4FWaMvjoLzwtpDmwBrrbWuJCOLjodoPGLaEK+pgLczxE9psB+qJHd0gwzBtSmIpqcCOvYje60Ux1uyLzO6gFklN4Kmod6c07/cOjbRA5imXs24KU9cxPEW0JYUJmU5Dp2q0CrsgBa4PnzBsoo3HsdfrH+HxdmO60VUvoNA7rkcHV+yWNyUeeC+B+jfYVIBHAXhjAurMwR5NmLJk3f3tBPsScF5V3mvXkzQARd3vabZ4tY2FCGkgOd3ZutKyDZcXcHR6AOKEBctsIRREMldeEIO1RXFHMYu8qYbjvKXaTloG25Qh0bkPJfiEehdhwb7D6HMEoSXvtsObzzTVaN51Qi53cm4eUEN8W2MTLDLEjBxz3TsLzdCk021esskg1D8gqdwjNIZZiNPybIP6PhQlpbold47O/YTemrPSEBJySKRWV531R2a63AKDgbOjHBIg==",
            "1; BN6PR03MB2465;\n\t31:EOE8vmWv5QsPloQkJK0YDyHy2d5vrpmA8PoWq5muc2sI5Axa0t8k4I7USfRyDBA2VuxdrgfTsPBsyzobtI678LQAJMh+XZ7B+WIoTgp+mRgx6ie78MWzIY7lqlFOGP94dxVXT7vR2OHfNRi7Lf4POY35oHm6aKu2IwUCvFVHR0qrrJWB4Mzi9dcq2WNpVX2lhpkhlkA4piYXZXMEArygGybzDY9qrOvZWDYItz+unSd66O/1mY0ZslWQvbi4MRnIJqtgaXYAmTkM/bHVs2pt8Q==",
            "1; BN6PR03MB2465;\n\t4:tR/r5C39TtCYNHLoZGZm7tgDl+Ha1Bii3+hqAjarmbQS3L8EGvefjVsSgx+6EEdZMQ95qMD3y8TRdKMB4/yBF6xljqufyDC3RQZ3qzoLABUDT7CiC6SrL70199CEi02idA+835402zys212iwj5omKePNGp589eqJgXUj2RrU4TMDIaWEV6dLYmNcSDIgMHAccMyR+i33SXmK3Z9yaMOtMvazRL/On61tyUlWFodvBJDJzEQjcuSpAx8GMXa2Wbh7J/SbnOxxn3JNku8MTkKTKsQXjPDQa3fp0MZFR17/SEb+MvShlt3CZrvESK2XmoSEh9TX8We9QSUhefu983v15JaknJcL40qBespAiBKfDqH5fYplMTfbU1P5DZNKO57Ln67vjLaGtRY8pAqM14DFRtYcSGmw3U6d2lBnA0JUFeViXqBHQp9cH6B306dry5kn/ucnQucvK5HHq0+dRV63t1u1RyxikmGy24/OsDRFnEeaiHmoVL+SHG9GHw8+/+FNk8aF+U53CLOJ14tcyyZXAx5GtAq6NFqBACF0eSk5e+vkh76P5NwtZ3ceBmKCMU5m23d4t60b3Fx52TzoHM+xxqqlJERxLM/KNTrAs2R+row86ksM+SNb2OBNIr40gVfwtFGQOzDlBHorbmSkkxx+YdNF4i/5oRsxtj4dvCvhjClZRoc/oLqsXeRLw9Eex/cmcxahjgVscAUho7gnNLcpYL1QCtm25NKQYE3PguvOWGs6FCllBlRh17xXYDCfoMQXBWM2njcMDtPAH4ItsKsO+5eV2CcXwajCrvhBzBvl50qFoIU3RkUnIqf8Oq9IO4K5gvp1pvMx6aV8LyxTDFu4iaGGvMdS8rdIU9zmF7s2JqU5AaQYWZOAeRFSntRCCm16ZKyEip5SEXbNwx4NzwOuHPQ3Jr0XwscKUH4obENPdk=",
            "=?utf-8?q?1=3BBN6PR03MB2465=3B23=3AkYBj?=\n\t=?utf-8?q?La048kMEHpfyeAc2OS4ha42XZ7UsLc7nmh1oKI2895TyIqLZ58uLTREf?=\n\t=?utf-8?q?T7cfWuupZicwAXG2JF9GNY027RngzZ8eeES9e/EIFYywxpE+pgFqZ+V5?=\n\t=?utf-8?q?NzHByW9G/7CSQgGkKV/Wn8LC1Bq8kj7rOSehTnAXIyipSvJM02dsuq4r?=\n\t=?utf-8?q?HrgZnrKXeo2fp4L3FJcbvQxjm4SANVykCUa7WtT0IHeL8rORdukAMlWy?=\n\t=?utf-8?q?7c9MMW6FrAKhM1Th8/H3Gt3pGBaL3xGM+Zz5BaWzsJWCYNYFsCBrg3r/?=\n\t=?utf-8?q?4LpEM45EAECY0pMNU0IS1byBl2lQLTOCUGvfS2Xivj1mxlxmMt/k7twX?=\n\t=?utf-8?q?e1SSNkFyQ9qUKKXw1S4cuXVcBUroaDhMzhuIDSOz7tT1b8Tds9v+9jrX?=\n\t=?utf-8?q?r3vOpGTPYmOiOnpvDn85tenBNZbqWiF1OaPurmmPHP2FsdJWfIE/4km0?=\n\t=?utf-8?q?4dGakpvyzz+ZtmQGHemJrdhsTZ+jr62yKqMN/icmg2t259LYApHCMeiq?=\n\t=?utf-8?q?dqhp4WWv8XLNdadjufYdhUFsibI3hQVUh3cXakQeG2gCxTdlTO26KA2h?=\n\t=?utf-8?q?sJtYZF7yABDGjH83Rxw6YuY/wHoF6YcIH9cH37xuy3ZqJBuZufUTKIe6?=\n\t=?utf-8?q?xemRda+QtBWagYMao1j0eEdhD5OUVQ0y/eVpWkxZRYht3GlY0CnNs4Qa?=\n\t=?utf-8?q?rpVpjdmY3+fT/AHOZaq1xOLpRCf4sidhLDf2WKDUUFgbENKQTuPpfLel?=\n\t=?utf-8?q?/whcWn2xwgedy0vGTIq3oGRFfSnOfxQdfO2cz9IaeTQ8bMa2x9fJ8ZPN?=\n\t=?utf-8?q?9k7MEEI269G5C9HJ/JgP684bpr18zDa0aUa0ohUm+ogBeZGKcZoTIike?=\n\t=?utf-8?q?VMBsAKuq0sUUdCKvMEF0ZtH9WYCu2PqI9/pDi1iSBU68ImRPyQ21eCxb?=\n\t=?utf-8?q?yLCpSKmI1Zww6jYixomFK4SV+2dPPz2vHTNNrzq/Y5uyY+0UI1s+dKPu?=\n\t=?utf-8?q?u6macwXVyJksg0t/Whb6/yCEykSYxak3tFA925nTaaqQ0cCp4RSS6QSA?=\n\t=?utf-8?q?0NNdD/00fxKvvopW60OcjnUWLaSpEK/uJlGLlpMfSi6mNkherBnXU2qx?=\n\t=?utf-8?q?WMngUU1gkkGV/XnaCbYN0y+QIlNOYNOrI0Wu+8ouN1L3F3N0Wcj792ql?=\n\t=?utf-8?q?IoXIKLrkkHsrqVaHPwc9R1qQwlzLIcEfN0C/7dT75JlB7znjsvCwoRfG?=\n\t=?utf-8?q?3om3wlEhq+N/CjV3QxHZIJtSA1Ds0VmQZXD3x/+Au0JsUgpJkXAgPP5Q?=\n\t=?utf-8?q?P9A/pdOEZBwiWZAoA2CaUsY42fQH44vlUBXxqkSKFOBbolA1i89jBpp7?=\n\t=?utf-8?q?J/pos+GdzeaqRJyoDT2AOzbgm7vTOdE6Cj16X4l+G8+O334O706ZElLN?=\n\t=?utf-8?q?CrpoN7TZvtPFjGQ71g=3D=3D?=",
            "1; BN6PR03MB2465;\n\t6:rZuVImk9UwA3l3SnvbSLS9AsfkjPp1/lMJWKNEDolv99RQVzi/AfiJ8Z30jqBQHCOYL0Vv8rGec4RvKAjVQsxmlohaOBMFm2HBGs5TUWBDhQUhmT7YoDIALX2yfyvNrc8UutmVJOISqB2CN142XEnbKLlbVEnVHXdqVdjekOnOrie2fBKwgu7tT1rdq2SXI5m03css04UZG9yhjxnL4WbwDoT9LxQaPhcXPMloTVk2fxEaGXXoDY6GQdsBe4Kz8K1XjaO7ZqHxiddMd/88GTSpIZrIWwKw8neyxn3zcN63vFKTdmKEirI+FVbqHOialMe2QuYty3lnYzYF2bzWo4tg6AuZKLT1MlWI2bwy+kTQC8TT+k4kreBQu9teS26eFnVxTvDZDPWOdk1jztq+YWU17YpEdg6HDK6kZQCO66z1E84FY1PIIQP6JsJMyfHfrc;\n\t5:B5paz69tkpDpW0KJEKBm3pz3D+OPa4uUvQoCSubOh2JKfuNY+/krKczFi1/bUPL22lsECVm+/Pmaq77zCz/XjPFDszVdmShHtvDOmlV/s5OUI8XlXpuxq6cdsLYbJ75v8e23vxHuV+y/SRfzoyroLrfhZZGToQTjtVqO5LdFXIUtJ/CA49sNOxcADwTLCpLt;\n\t24:D6imlPXYByCpCGw3fjPtcNYUwEmEX0LDhkf3BH7aVlisJt8iyQtJDdG2P2Z4tjT9pJbNoijD4nsDWG7kbq9bp/zDkk8mYhmbDq4PTi4veg4=",
            "1; BN6PR03MB2465;\n\t7:t6MYC5cv22TIfEnLu6o1/QRUFNbFZTW+o6wTpMh+qfh8wCOODCe9Rje+63ae3rEB/NfgwSM7OkJa/C1Uvq5yPfsZmJcddfSCKLHlTrjamwp/biLXwIJW8R5E6814fKAhKx2gnXV3H1QaPh/QrLSBj2ZeYofbzWuAXhz2OqbsdDXX3qQijTQYhX1cfpiofzPgKYCLTssv1IapIpqQ462h0wFwv5oNtZZUiP0QrSP8LwDpKJOsKpdaSiS/PAE+6hZc1eC0B23qkKQNvL8FtlF6b3RlcFWa+KEHriAHCGNUkl3zebBFJ+NRiRu7X7DenDHuVulq/gva/geTIiYkyHM2Lkkkc6ItdisvUNkHQzPuqmdCrNosHOd6d8mydYRLLpLQC+7/5N3GvvttmoZ/iWP8maTwCy26c+VAVR4hOF8VGCs1HJbECEALHb2QyfJ53kisWcqL6mfmtMFRDvgcinG/1w=="
        ],
        "X-MS-Office365-Filtering-Correlation-Id": "2921a3b4-1c51-4421-86ac-08d43edb71e7",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:BN6PR03MB2465; ",
        "X-Microsoft-Antispam-PRVS": "<BN6PR03MB24658A9855DAE84B6E44227F897C0@BN6PR03MB2465.namprd03.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(166708455590820)(185117386973197)(227817650892897)(275809806118684)(21532816269658)(264314650089876);",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(6095060)(601004)(2401047)(8121501046)(5005006)(13023025)(13017025)(13015025)(13024025)(13018025)(10201501046)(3002001)(6055026)(6096035)(20161123565025)(20161123563025)(20161123556025)(20161123559025)(20161123561025);\n\tSRVR:BN6PR03MB2465; BCL:0; PCL:0; RULEID:(400006); SRVR:BN6PR03MB2465;",
        "X-Forefront-PRVS": "01901B3451",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "17 Jan 2017 13:19:19.4125\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Id": "5afe0b00-7697-4969-b663-5eab37d5f47e",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;\n\tIp=[192.88.168.50]; \n\tHelo=[tx30smr01.am.freescale.net]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN6PR03MB2465",
        "Subject": "[dpdk-dev] [PATCHv4 02/33] doc: add dpaa2 nic details",
        "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": "This patch adds the NXP dpaa2 architecture and pmd details\nin the Network interfaces section.\n\nSigned-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n MAINTAINERS                            |   8 +\n doc/guides/nics/dpaa2.rst              | 594 +++++++++++++++++++++++++++++++++\n doc/guides/nics/features/dpaa2.ini     |   8 +\n doc/guides/nics/index.rst              |   1 +\n doc/guides/rel_notes/release_17_02.rst |  11 +\n 5 files changed, 622 insertions(+)\n create mode 100644 doc/guides/nics/dpaa2.rst\n create mode 100644 doc/guides/nics/features/dpaa2.ini",
    "diff": "diff --git a/MAINTAINERS b/MAINTAINERS\nindex 9645c9b..7d6a89a 100644\n--- a/MAINTAINERS\n+++ b/MAINTAINERS\n@@ -354,6 +354,14 @@ M: Alejandro Lucero <alejandro.lucero@netronome.com>\n F: drivers/net/nfp/\n F: doc/guides/nics/nfp.rst\n \n+NXP DPAA2 PMD\n+M: Hemant Agrawal <hemant.agrawal@nxp.com>\n+F: drivers/bus/fslmc/\n+F: drivers/common/dpaa2/\n+F: drivers/net/dpaa2/\n+F: drivers/pool/dpaa2/\n+F: doc/guides/nics/dpaa2.rst\n+\n QLogic bnx2x\n M: Harish Patil <harish.patil@cavium.com>\n M: Rasesh Mody <rasesh.mody@cavium.com>\ndiff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst\nnew file mode 100644\nindex 0000000..0b30a6f\n--- /dev/null\n+++ b/doc/guides/nics/dpaa2.rst\n@@ -0,0 +1,594 @@\n+..  BSD LICENSE\n+    Copyright (C) NXP. 2016.\n+    All rights reserved.\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 NXP 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+DPAA2 Poll Mode Driver\n+======================\n+\n+The DPAA2 NIC PMD (**librte_pmd_dpaa2**) provides poll mode driver\n+support for the inbuilt NIC found in the **NXP DPAA2** SoC family.\n+\n+More information can be found at `NXP Official Website\n+<http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors:QORIQ-ARM>`_.\n+\n+NXP DPAA2 (Data Path Acceleration Architecture Gen2)\n+----------------------------------------------------\n+\n+This section provides an overview of the NXP DPAA2 architecture\n+and how it is integrated into the DPDK.\n+\n+Contents summary\n+\n+- DPAA2 overview\n+- Overview of DPAA2 objects\n+- DPAA2 driver architecture overview\n+\n+DPAA2 Overview\n+~~~~~~~~~~~~~~\n+\n+Reference: `FSL MC BUS in Linux Kernel <https://www.kernel.org/doc/readme/drivers-staging-fsl-mc-README.txt>`_.\n+\n+DPAA2 is a hardware architecture designed for high-speed network\n+packet processing.  DPAA2 consists of sophisticated mechanisms for\n+processing Ethernet packets, queue management, buffer management,\n+autonomous L2 switching, virtual Ethernet bridging, and accelerator\n+(e.g. crypto) sharing.\n+\n+A DPAA2 hardware component called the Management Complex (or MC) manages the\n+DPAA2 hardware resources.  The MC provides an object-based abstraction for\n+software drivers to use the DPAA2 hardware.\n+\n+The MC uses DPAA2 hardware resources such as queues, buffer pools, and\n+network ports to create functional objects/devices such as network\n+interfaces, an L2 switch, or accelerator instances.\n+\n+The MC provides memory-mapped I/O command interfaces (MC portals)\n+which DPAA2 software drivers use to operate on DPAA2 objects:\n+\n+The diagram below shows an overview of the DPAA2 resource management\n+architecture:\n+\n+.. code-block:: console\n+\n+  +--------------------------------------+\n+  |                  OS                  |\n+  |                        DPAA2 drivers |\n+  |                             |        |\n+  +-----------------------------|--------+\n+                                |\n+                                | (create,discover,connect\n+                                |  config,use,destroy)\n+                                |\n+                  DPAA2         |\n+  +------------------------| mc portal |-+\n+  |                             |        |\n+  |   +- - - - - - - - - - - - -V- - -+  |\n+  |   |                               |  |\n+  |   |   Management Complex (MC)     |  |\n+  |   |                               |  |\n+  |   +- - - - - - - - - - - - - - - -+  |\n+  |                                      |\n+  | Hardware                  Hardware   |\n+  | Resources                 Objects    |\n+  | ---------                 -------    |\n+  | -queues                   -DPRC      |\n+  | -buffer pools             -DPMCP     |\n+  | -Eth MACs/ports           -DPIO      |\n+  | -network interface        -DPNI      |\n+  |  profiles                 -DPMAC     |\n+  | -queue portals            -DPBP      |\n+  | -MC portals                ...       |\n+  |  ...                                 |\n+  |                                      |\n+  +--------------------------------------+\n+\n+The MC mediates operations such as create, discover,\n+connect, configuration, and destroy.  Fast-path operations\n+on data, such as packet transmit/receive, are not mediated by\n+the MC and are done directly using memory mapped regions in\n+DPIO objects.\n+\n+Overview of DPAA2 Objects\n+~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+The section provides a brief overview of some key DPAA2 objects.\n+A simple scenario is described illustrating the objects involved\n+in creating a network interfaces.\n+\n+DPRC (Datapath Resource Container)\n+\n+ A DPRC is a container object that holds all the other\n+ types of DPAA2 objects.  In the example diagram below there\n+ are 8 objects of 5 types (DPMCP, DPIO, DPBP, DPNI, and DPMAC)\n+ in the container.\n+\n+.. code-block:: console\n+\n+    +---------------------------------------------------------+\n+    | DPRC                                                    |\n+    |                                                         |\n+    |  +-------+  +-------+  +-------+  +-------+  +-------+  |\n+    |  | DPMCP |  | DPIO  |  | DPBP  |  | DPNI  |  | DPMAC |  |\n+    |  +-------+  +-------+  +-------+  +---+---+  +---+---+  |\n+    |  | DPMCP |  | DPIO  |                                   |\n+    |  +-------+  +-------+                                   |\n+    |  | DPMCP |                                              |\n+    |  +-------+                                              |\n+    |                                                         |\n+    +---------------------------------------------------------+\n+\n+From the point of view of an OS, a DPRC behaves similar to a plug and\n+play bus, like PCI.  DPRC commands can be used to enumerate the contents\n+of the DPRC, discover the hardware objects present (including mappable\n+regions and interrupts).\n+\n+.. code-block:: console\n+\n+    DPRC.1 (bus)\n+      |\n+      +--+--------+-------+-------+-------+\n+         |        |       |       |       |\n+       DPMCP.1  DPIO.1  DPBP.1  DPNI.1  DPMAC.1\n+       DPMCP.2  DPIO.2\n+       DPMCP.3\n+\n+Hardware objects can be created and destroyed dynamically, providing\n+the ability to hot plug/unplug objects in and out of the DPRC.\n+\n+A DPRC has a mappable MMIO region (an MC portal) that can be used\n+to send MC commands.  It has an interrupt for status events (like\n+hotplug).\n+\n+All objects in a container share the same hardware \"isolation context\".\n+This means that with respect to an IOMMU the isolation granularity\n+is at the DPRC (container) level, not at the individual object\n+level.\n+\n+DPRCs can be defined statically and populated with objects\n+via a config file passed to the MC when firmware starts\n+it.  There is also a Linux user space tool called \"restool\"\n+that can be used to create/destroy containers and objects\n+dynamically.\n+\n+DPAA2 Objects for an Ethernet Network Interface\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+A typical Ethernet NIC is monolithic-- the NIC device contains TX/RX\n+queuing mechanisms, configuration mechanisms, buffer management,\n+physical ports, and interrupts.  DPAA2 uses a more granular approach\n+utilizing multiple hardware objects.  Each object provides specialized\n+functions. Groups of these objects are used by software to provide\n+Ethernet network interface functionality.  This approach provides\n+efficient use of finite hardware resources, flexibility, and\n+performance advantages.\n+\n+The diagram below shows the objects needed for a simple\n+network interface configuration on a system with 2 CPUs.\n+\n+.. code-block:: console\n+\n+    +---+---+ +---+---+\n+       CPU0     CPU1\n+    +---+---+ +---+---+\n+        |         |\n+    +---+---+ +---+---+\n+       DPIO     DPIO\n+    +---+---+ +---+---+\n+          \\     /\n+           \\   /\n+            \\ /\n+         +---+---+\n+            DPNI  --- DPBP,DPMCP\n+         +---+---+\n+             |\n+             |\n+         +---+---+\n+           DPMAC\n+         +---+---+\n+             |\n+          port/PHY\n+\n+Below the objects are described.  For each object a brief description\n+is provided along with a summary of the kinds of operations the object\n+supports and a summary of key resources of the object (MMIO regions\n+and IRQs).\n+\n+DPMAC (Datapath Ethernet MAC): represents an Ethernet MAC, a\n+hardware device that connects to an Ethernet PHY and allows\n+physical transmission and reception of Ethernet frames.\n+\n+- MMIO regions: none\n+- IRQs: DPNI link change\n+- commands: set link up/down, link config, get stats, IRQ config, enable, reset\n+\n+DPNI (Datapath Network Interface): contains TX/RX queues,\n+network interface configuration, and RX buffer pool configuration\n+mechanisms.  The TX/RX queues are in memory and are identified by\n+queue number.\n+\n+- MMIO regions: none\n+- IRQs: link state\n+- commands: port config, offload config, queue config, parse/classify config, IRQ config, enable, reset\n+\n+DPIO (Datapath I/O): provides interfaces to enqueue and dequeue\n+packets and do hardware buffer pool management operations.  The DPAA2\n+architecture separates the mechanism to access queues (the DPIO object)\n+from the queues themselves.  The DPIO provides an MMIO interface to\n+enqueue/dequeue packets.  To enqueue something a descriptor is written\n+to the DPIO MMIO region, which includes the target queue number.\n+There will typically be one DPIO assigned to each CPU.  This allows all\n+CPUs to simultaneously perform enqueue/dequeued operations.  DPIOs are\n+expected to be shared by different DPAA2 drivers.\n+\n+- MMIO regions: queue operations, buffer management\n+- IRQs: data availability, congestion notification, buffer pool depletion\n+- commands: IRQ config, enable, reset\n+\n+DPBP (Datapath Buffer Pool): represents a hardware buffer\n+pool.\n+\n+- MMIO regions: none\n+- IRQs: none\n+- commands: enable, reset\n+\n+DPMCP (Datapath MC Portal): provides an MC command portal.\n+Used by drivers to send commands to the MC to manage\n+objects.\n+\n+- MMIO regions: MC command portal\n+- IRQs: command completion\n+- commands: IRQ config, enable, reset\n+\n+Object Connections\n+~~~~~~~~~~~~~~~~~~\n+\n+Some objects have explicit relationships that must\n+be configured:\n+\n+- DPNI <--> DPMAC\n+- DPNI <--> DPNI\n+- DPNI <--> L2-switch-port\n+\n+A DPNI must be connected to something such as a DPMAC,\n+another DPNI, or L2 switch port.  The DPNI connection\n+is made via a DPRC command.\n+\n+.. code-block:: console\n+\n+    +-------+  +-------+\n+    | DPNI  |  | DPMAC |\n+    +---+---+  +---+---+\n+        |          |\n+        +==========+\n+\n+- DPNI <--> DPBP\n+\n+A network interface requires a 'buffer pool' (DPBP object) which provides\n+a list of pointers to memory where received Ethernet data is to be copied.\n+The Ethernet driver configures the DPBPs associated with the network\n+interface.\n+\n+Interrupts\n+~~~~~~~~~~\n+\n+All interrupts generated by DPAA2 objects are message\n+interrupts.  At the hardware level message interrupts\n+generated by devices will normally have 3 components--\n+1) a non-spoofable 'device-id' expressed on the hardware\n+bus, 2) an address, 3) a data value.\n+\n+In the case of DPAA2 devices/objects, all objects in the\n+same container/DPRC share the same 'device-id'.\n+For ARM-based SoC this is the same as the stream ID.\n+\n+\n+DPAA2 DPDK - Poll Mode Driver Overview\n+--------------------------------------\n+\n+This section provides an overview of the drivers for\n+DPAA2-- 1) the bus driver and associated \"DPAA2 infrastructure\"\n+drivers and 2) functional object drivers (such as Ethernet).\n+\n+As described previously, a DPRC is a container that holds the other\n+types of DPAA2 objects.  It is functionally similar to a plug-and-play\n+bus controller.\n+\n+Each object in the DPRC is a Linux \"device\" and is bound to a driver.\n+The diagram below shows the dpaa2 drivers involved in a networking\n+scenario and the objects bound to each driver.  A brief description\n+of each driver follows.\n+\n+.. code-block: console\n+\n+\n+                                       +------------+\n+                                       | DPDK DPAA2 |\n+                                       |     PMD    |\n+                                       +------------+       +------------+\n+                                       |  Ethernet  |.......|  Mempool   |\n+                    . . . . . . . . .  |   (DPNI)   |       |  (DPBP)    |\n+                   .                   +---+---+----+       +-----+------+\n+                  .                        ^   |                  .\n+                 .                         |   |<enqueue,         .\n+                .                          |   | dequeue>         .\n+               .                           |   |                  .\n+              .                        +---+---V----+             .\n+             .      . . . . . . . . . .| DPIO driver|             .\n+            .      .                   |  (DPIO)    |             .\n+           .      .                    +-----+------+             .\n+          .      .                     |  QBMAN     |             .\n+         .      .                      |  Driver    |             .\n+    +----+------+-------+              +-----+----- |             .\n+    |   dpaa2 bus       |                    |                    .\n+    |   VFIO fslmc-bus  |....................|.....................\n+    |                   |                    |\n+    |     /bus/fslmc    |                    |\n+    +-------------------+                    |\n+                                             |\n+    ========================== HARDWARE =====|=======================\n+                                           DPIO\n+                                             |\n+                                           DPNI---DPBP\n+                                             |\n+                                           DPMAC\n+                                             |\n+                                            PHY\n+    =========================================|========================\n+\n+\n+A brief description of each driver is provided below.\n+\n+DPAA2 bus driver\n+~~~~~~~~~~~~~~~~\n+\n+The DPAA2 bus driver is a rte_bus driver which scans the fsl-mc bus.\n+Key functions include:\n+\n+- Reading the container and setting up vfio group\n+- Scanning and parsing the various MC objects and adding them to\n+  their respective device list.\n+\n+Additionally, it also provides the object driver for generic MC objects.\n+\n+DPIO driver\n+~~~~~~~~~~~\n+\n+The DPIO driver is bound to DPIO objects and provides services that allow\n+other drivers such as the Ethernet driver to enqueue and dequeue data for\n+their respective objects.\n+Key services include:\n+\n+- Data availability notifications\n+- Hardware queuing operations (enqueue and dequeue of data)\n+- Hardware buffer pool management\n+\n+To transmit a packet the Ethernet driver puts data on a queue and\n+invokes a DPIO API.  For receive, the Ethernet driver registers\n+a data availability notification callback.  To dequeue a packet\n+a DPIO API is used.\n+\n+There is typically one DPIO object per physical CPU for optimum\n+performance, allowing different CPUs to simultaneously enqueue\n+and dequeue data.\n+\n+The DPIO driver operates on behalf of all DPAA2 drivers\n+active  --  Ethernet, crypto, compression, etc.\n+\n+DPBP based Mempool driver\n+~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+The DPBP driver is bound to a DPBP objects and provides sevices to\n+create a hardware offloaded packet buffer mempool.\n+\n+DPAA2 NIC Driver\n+~~~~~~~~~~~~~~~~\n+The Ethernet driver is bound to a DPNI and implements the kernel\n+interfaces needed to connect the DPAA2 network interface to\n+the network stack.\n+\n+Each DPNI corresponds to a DPDK network interface.\n+\n+Features\n+^^^^^^^^\n+\n+Features of the DPAA2 PMD are:\n+\n+- Multiple queues for TX and RX\n+- Receive Side Scaling (RSS)\n+- Packet type information\n+- Checksum offload\n+- Promiscuous mode\n+\n+Supported DPAA2 SoCs\n+--------------------\n+\n+- LS2080A/LS2040A\n+- LS2084A/LS2044A\n+- LS2088A/LS2048A\n+- LS1088A/LS1048A\n+\n+Prerequisites\n+-------------\n+\n+This driver relies on external libraries and kernel drivers for resources\n+allocations and initialization. The following dependencies are not part of\n+DPDK and must be installed separately:\n+\n+- **NXP Linux SDK**\n+\n+  NXP Linux software development kit (SDK) includes support for family\n+  of QorIQ® ARM-Architecture-based system on chip (SoC) processors\n+  and corresponding boards.\n+\n+  It includes the Linux board support packages (BSPs) for NXP SoCs,\n+  a fully operational tool chain, kernel and board specific modules.\n+\n+  SDK and related information can be obtained from:  `NXP QorIQ SDK  <http://www.nxp.com/products/software-and-tools/run-time-software/linux-sdk/linux-sdk-for-qoriq-processors:SDKLINUX>`_.\n+\n+- **DPDK Helper Scripts**\n+\n+  DPAA2 based resources can be configured easily with the help of ready scripts\n+  as provided in the DPDK helper repository.\n+\n+  `DPDK Helper Scripts <https://github.com/qoriq-open-source/dpdk-helper>`_.\n+\n+Currently supported by DPDK:\n+\n+- NXP SDK **2.0+**.\n+- MC Firmware version **10.0.0** and higher.\n+- Supported architectures:  **arm64 LE**.\n+\n+- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.\n+\n+Pre-Installation Configuration\n+------------------------------\n+\n+Config File Options\n+~~~~~~~~~~~~~~~~~~~\n+\n+The following options can be modified in the ``config`` file.\n+Please note that enabling debugging options may affect system performance.\n+\n+- ``CONFIG_RTE_LIBRTE_FSLMC_BUS`` (default ``n``)\n+\n+  By default it is enabled only for defconfig_arm64-dpaa2-* config.\n+  Toggle compilation of the ``librte_pmd_fslmcbus`` driver.\n+\n+- ``CONFIG_RTE_LIBRTE_DPAA2_PMD`` (default ``n``)\n+\n+  By default it is enabled only for defconfig_arm64-dpaa2-* config.\n+  Toggle compilation of the ``librte_pmd_dpaa2`` driver.\n+\n+- ``CONFIG_RTE_LIBRTE_DPAA2_COMMON`` (default ``n``)\n+\n+  By default it is enabled only for defconfig_arm64-dpaa2-* config.\n+  Toggle compilation of the ``librte_pmd_dpaa2_qbman``,\n+  and ``librte_pmd_dpaa2_dpio`` driver.\n+\n+- ``CONFIG_RTE_LIBRTE_DPAA2_DEBUG_DRIVER`` (default ``n``)\n+\n+  Toggle display of generic debugging messages\n+\n+- ``CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA`` (default ``y``)\n+\n+  Toggle to use physical address vs virtual address for hardware accelerators.\n+\n+- ``CONFIG_RTE_LIBRTE_DPAA2_DEBUG_INIT`` (default ``n``)\n+\n+  Toggle display of initialization related messages.\n+\n+- ``CONFIG_RTE_LIBRTE_DPAA2_DEBUG_RX`` (default ``n``)\n+\n+  Toggle display of receive fast path run-time message\n+\n+- ``CONFIG_RTE_LIBRTE_DPAA2_DEBUG_TX`` (default ``n``)\n+\n+  Toggle display of transmit fast path run-time message\n+\n+- ``CONFIG_RTE_LIBRTE_DPAA2_DEBUG_TX_FREE`` (default ``n``)\n+\n+  Toggle display of transmit fast path buffer free run-time message\n+\n+\n+Driver Compilation\n+~~~~~~~~~~~~~~~~~~\n+\n+To compile the DPAA2 PMD for Linux arm64 gcc target, run the\n+following ``make`` command:\n+\n+.. code-block:: console\n+\n+   cd <DPDK-source-directory>\n+   make config T=arm64-dpaa2-linuxapp-gcc install\n+\n+.. _dpaa2_testpmd_example:\n+\n+Running testpmd\n+~~~~~~~~~~~~~~~\n+\n+This section demonstrates how to launch ``testpmd`` with DPAA2 device\n+managed by ``librte_pmd_dpaa2`` in the Linux operating system.\n+\n+#. Configure the resource container:\n+\n+   Configure resources in MC and create the DPRC container:\n+\n+   .. code-block:: console\n+\n+      export the DPRC container\n+      e.g. export DPRCT=dprc.2\n+\n+#. Start ``testpmd`` with basic parameters:\n+\n+   .. code-block:: console\n+\n+      ./arm64-dpaa2-linuxapp-gcc/testpmd -c 0xff -n 1 \\\n+        -- -i --portmask=0x3 --nb-cores=1 --no-flush-rx\n+\n+   Example output:\n+\n+   .. code-block:: console\n+\n+        .....\n+        EAL: Registered [pci] bus.\n+        EAL: Registered [fslmc] bus.\n+        EAL: Detected 8 lcore(s)\n+        EAL: Probing VFIO support...\n+        EAL: VFIO support initialized\n+        .....\n+        PMD: DPAA2: Processing Container = dprc.2\n+        EAL: fslmc: DPRC contains = 51 devices\n+        EAL: fslmc: Bus scan completed\n+        .....\n+        Configuring Port 0 (socket 0)\n+        Port 0: 00:00:00:00:00:01\n+        Configuring Port 1 (socket 0)\n+        Port 1: 00:00:00:00:00:02\n+        .....\n+        Checking link statuses...\n+        Port 0 Link Up - speed 10000 Mbps - full-duplex\n+        Port 1 Link Up - speed 10000 Mbps - full-duplex\n+        Done\n+        testpmd>\n+\n+Limitations\n+-----------\n+\n+Platform Requirement\n+~~~~~~~~~~~~~~~~~~~~\n+DPAA2 drivers for DPDK can only work on NXP SoCs as listed in the\n+``Supported DPAA2 SoCs``.\n+\n+Maximum packet length\n+~~~~~~~~~~~~~~~~~~~~~\n+\n+The DPAA2 SoC family support a maximum of a 10240 jumbo frame. The value\n+is fixed and cannot be changed. So, even when the ``rxmode.max_rx_pkt_len``\n+member of ``struct rte_eth_conf`` is set to a value lower than 10240, frames\n+up to 10240 bytes can still reach the host interface.\ndiff --git a/doc/guides/nics/features/dpaa2.ini b/doc/guides/nics/features/dpaa2.ini\nnew file mode 100644\nindex 0000000..b2ad6ec\n--- /dev/null\n+++ b/doc/guides/nics/features/dpaa2.ini\n@@ -0,0 +1,8 @@\n+;\n+; Supported features of the 'dpaa2' network poll mode driver.\n+;\n+; Refer to default.ini for the full list of available PMD features.\n+;\n+[Features]\n+ARMv8                = Y\n+Usage doc            = Y\ndiff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst\nindex 92d56a5..fa01662 100644\n--- a/doc/guides/nics/index.rst\n+++ b/doc/guides/nics/index.rst\n@@ -39,6 +39,7 @@ Network Interface Controller Drivers\n     bnx2x\n     bnxt\n     cxgbe\n+    dpaa2\n     e1000em\n     ena\n     enic\ndiff --git a/doc/guides/rel_notes/release_17_02.rst b/doc/guides/rel_notes/release_17_02.rst\nindex d445d64..f3ab037 100644\n--- a/doc/guides/rel_notes/release_17_02.rst\n+++ b/doc/guides/rel_notes/release_17_02.rst\n@@ -57,6 +57,17 @@ New Features\n   Six new APIs have been added to the ixgbe PMD for MACsec offload support.\n   The declarations for the APIs can be found in ``rte_pmd_ixgbe.h``.\n \n+* **Added a new driver for NXP DPAA2 - FSLMC bus.**\n+\n+  Added the new bus \"fslmc\" driver for NXP DPAA2 devices. See the\n+  \"Network Interface Controller Drivers\" document for more details on this new\n+  driver.\n+\n+* **Added a new driver for NXP DPAA2 Network PMD.**\n+\n+  Added the new \"dpaa2\" net driver for NXP DPAA2 devices. See the\n+  \"Network Interface Controller Drivers\" document for more details on this new\n+  driver.\n \n Resolved Issues\n ---------------\n",
    "prefixes": [
        "dpdk-dev",
        "PATCHv4",
        "02/33"
    ]
}