get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 21200,
    "url": "https://patches.dpdk.org/api/patches/21200/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1488545223-25739-27-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": "<1488545223-25739-27-git-send-email-hemant.agrawal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1488545223-25739-27-git-send-email-hemant.agrawal@nxp.com",
    "date": "2017-03-03T12:46:43",
    "name": "[dpdk-dev,PATCHv8,26/46] net/dpaa2: attach the buffer pool to dpni",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "06d827b5975681531c4a2b0334d9e0f749aa33d9",
    "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/1488545223-25739-27-git-send-email-hemant.agrawal@nxp.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/21200/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/21200/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 62EAFFA88;\n\tFri,  3 Mar 2017 08:14:56 +0100 (CET)",
            "from NAM03-DM3-obe.outbound.protection.outlook.com\n\t(mail-dm3nam03on0058.outbound.protection.outlook.com [104.47.41.58])\n\tby dpdk.org (Postfix) with ESMTP id DA54AF961\n\tfor <dev@dpdk.org>; Fri,  3 Mar 2017 08:14:28 +0100 (CET)",
            "from BN6PR03CA0013.namprd03.prod.outlook.com (10.168.230.151) by\n\tBN6PR03MB2947.namprd03.prod.outlook.com (10.175.126.13) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id\n\t15.1.947.12; Fri, 3 Mar 2017 07:14:27 +0000",
            "from BY2FFO11FD017.protection.gbl (2a01:111:f400:7c0c::133) by\n\tBN6PR03CA0013.outlook.office365.com (2603:10b6:404:23::23) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12 via\n\tFrontend Transport; Fri, 3 Mar 2017 07:14:27 +0000",
            "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBY2FFO11FD017.mail.protection.outlook.com (10.1.14.105) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.933.11\n\tvia Frontend Transport; Fri, 3 Mar 2017 07:14:27 +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\tv237D50T005035; Fri, 3 Mar 2017 00:14:24 -0700"
        ],
        "Authentication-Results": "spf=fail (sender IP is 192.88.168.50)\n\tsmtp.mailfrom=nxp.com; caviumnetworks.com;\n\tdkim=none (message not signed)\n\theader.d=none; caviumnetworks.com;\n\tdmarc=fail action=none header.from=nxp.com; ",
        "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>",
        "Date": "Fri, 3 Mar 2017 18:16:43 +0530",
        "Message-ID": "<1488545223-25739-27-git-send-email-hemant.agrawal@nxp.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "In-Reply-To": "<1488545223-25739-1-git-send-email-hemant.agrawal@nxp.com>",
        "References": "<1487205586-6785-1-git-send-email-hemant.agrawal@nxp.com>\n\t<1488545223-25739-1-git-send-email-hemant.agrawal@nxp.com>",
        "X-EOPAttributedMessage": "0",
        "X-Matching-Connectors": "131329988672938722;\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)(7916002)(336005)(39410400002)(39850400002)(39860400002)(39400400002)(39380400002)(39840400002)(39450400003)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(110136004)(2906002)(38730400002)(4326008)(53936002)(5003940100001)(50466002)(48376002)(106466001)(2351001)(105606002)(54906002)(6916009)(8656002)(2950100002)(6666003)(5660300001)(104016004)(77096006)(5890100001)(50226002)(626004)(189998001)(356003)(8676002)(305945005)(92566002)(81166006)(50986999)(8936002)(76176999)(47776003)(33646002)(85426001)(86362001)(36756003);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2947;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent;\n\tLANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BY2FFO11FD017;\n\t1:nVCSxPwsK8g2lnOS5IIkNHqbPrmF6R2IYCR+I8ktkif4mc3mzMx2/MuK3jiG27Sgi2rYQbpMIG6x4XTVjq6V8KbiCJTwfqIQFr3Ehu7mLWdKlbL5OeSDtHQ7zVFNwjwEykgQim07sCd+ogoWmdtt8K3H8DME8bnaWO/6fIHJrFjSv1q85yq6ca1SfBKq45epHLl0eioIiQzUMlxGMuhn4C4cheHA+Cm9gl8BrmznUrSTX1fLw+QLGH5KW5FJOF5Brv0mUDW7QhWgA5weVMYjb5GoPJEoJDGmFY6l/MfqN3umJOoJ5vRqfM2w2zHCKbnUnaK8oFe41y3DcxYqg+LnUdtHxZkTRS2FtMfGM5aZPOXCfazg/wyXyAboaEd/k9RqTyIsoyP6+5izrCzZvqwOpxrQAzQrAFcUxwe50oZF5l1OkYUL7/hEQg3xDdnbLxDIcJtcxLKPQwKpQpA9y75dKu45+ILrQ+zVJpDkYau+0IOShGhgKSgpixhF70DAYXWKF3BEY25xlDucW2ycFEVc4qCtKJ/n4IAcOxOApRE9O7v2ZqgNlieAmdXq5CUCy4Hwllg/osOR2J9Na/OUblyvAfIhzcGzAuTB4YK6Vn2j6yJpkIOJG7ciOqQ3pWqoCTeHaGL8oJzxsklPL6nTksTE8A==",
            "1; BN6PR03MB2947;\n\t3:DSJAFwn3iIsgFvwsvuX+gF+kYV4rUXlKSo8zTbY0x7t7OLXRd9GLeITPEn6V6p0ZEEUNQqKDemehLJuey/P5sKRERJfwNrZvVLzoWYl0tb/mSZjIIqyHiEeufdbVvqrjIvREv0ff2ATWFeOS94cUEdt2vLgGQMS+lcBdTAeN65zsJRb01CmMOMRF7sqWGxSYiycJlloZbTJP/eFk7XzsaIfMLZdjCKHFCG7rnXaaIvUU7niXNuJwt76XIcLZl0FWSLRBbTLuKF+6RFiWlRJWwavnMdNqdKaAU83xkZu1l1s1wP0p/Y2X38Uo63eUogk1cWZPQ+IqEVfJWIRRxmtbewGm8OfcczlmN58/fWaQUJvKbC2ATJsK+bwTNDdxgLny;\n\t25:1VCKcuTa/sSGmLZlBsNQWVcLnpdox3ybV8cwoyIhoXb2i/M5amlf40UELGd1mDmAOVvuLk3Ba6p++qyzUCXXB0qDzyeJyYFYZnRsJOpjVgqWN1+W3NZauywmEZb2a4BqHeymHhOoH6NOWOEJJ/M5kk7nGOY1k1fx5txNoTOPOzgKBBkO1gFpWhdhiayJt076iqciF5Ddyej+ybFp8J49aGUd+01jBmn2rnshXyWnQKOxiP4lHmPn7GNEctstzIwqcnyxwDMvRZWNcclkLiNxqvQ37RCb9ZA+Gq85NM33mK9Q7VWmvSMvu04yC+dqZJtHpr20f8LZUUBlVjcwyiysx5sC1Gbo7LdodsgvGwVaq4WccCmTQ+77PHhc6/5Tri8gGSnZW1uFXBRZPp/FunUHnLzS1yFPoIzGVfDlCPER50wWw6XQYwsGBUxt/JsWf2LPl479Fjqgg5XdCcx1uaDMaA==",
            "1; BN6PR03MB2947;\n\t31:UcAkR+YkJjaN8lIQgpm9Vk8hhphxaqBKEy9zyZh9qejv02oFoy3zz80wqKBWRKQPZf9iGMGGCmNR09GX5AxAQqWGlD1XUc+Gld+FX1lkODmfzkvkQdsIf7UCdMD6mGNzGQKrB9hM+WZ6bRvJBCb7KJiViOvud03XoTd/OslI2eTmsilOYq+sxrKfT/DgsaeuHn8TnGELmL8DcURvsmbhZd3fCfu9bWQNk9WjDRqG1lFjdAQvVy+2WJlvKIcRydVRTf9VNhNuJrP2nifpEZRe7A==",
            "1; BN6PR03MB2947;\n\t4:qFf6PcRqhxf1g448/dYcTy7UWSybIbT8ocyUlIODXgVnP7UoIEkIbldfCyy4IkJHyt4rwA3lSindGDTOtOYMhdGw0TuMCa1gKRT3LQUMbZQzJFtXtVG/IKLgHRo8/m380XEt6cxyHYPZIv8ViWdoozULccyqvQTb4viuHY8zhRgb5FyXtjbpf1uj4U4I/2Pgf4+Or5WVPjVdVf7iIL7CTo/lA/ED45JjEZUlbCjTEKduWQHV/alqSIm9v0IKG4QfeWuDP9JnDb1bc21j3jDFE9THh0dAG/u1ds3eXIAlBHfksiKiB/2BhpZyrfvHCYsdeknNW/10VitPoHrY7VjvHbgBuincnS0Mf1VeynhQhF2Nf6RMDFwlJR0oKQXd1eu+Xrtaj4eIE78FDa5Eh+3CigAIzUeiP1h1yJzsjdWC1vtOvokSoonTfgnf/xPQ1zHu7vU+N7L9IT7daoTD5G9yEb3KHX1Q62MkDJ7Z+ok5UFmxlTIbqEGFdexui8xmtOIJddcfL8KWu+PI/Ggp00jZCDR+1OCKlF8c32vFrE+BVxdaxpCh0qRo5uKxSkwmXRMVOe6rcbxjZCBVxapIGbgUdVdxXuKC4Me8O5zmcPCPFi39miRyUB+O57JNW012KhZzKoMx+10kggBd3aFHQwXSeIJJ+6fvQdwlU3i9lyl7p4Ozoz1HmDese+2+X42RYi6ikpOoAh/e0zQJQpC8kNGDl9QoeyhNJVcw5HNbb8EkGZ3ryvm0GSLViwI8jpzA1kndkBHNIZt5McZh30wkEGE/aQ==",
            "=?us-ascii?Q?1; BN6PR03MB2947;\n\t23:PbkE+udalXUGP6fFHfmmA/sC/umJPnB26SAcsS49N?=\n\tc1c1BQhaorkS1ovaGWx4kHXr1vayc76Zz2uTvTRpvNzBWK2EHtKIzOmET4QJdMqRLEfkUtrwVnTqM8YpUBokkvr6u7H+HHwMDat60fWdH82/t6Kuq84GER4OotsUX0LNAkrnjn8BQ04KLQ+olTx6v5UdAQ9+rJbhg4gxWfIaTrci0M2oswDa6HAEFYT4F+j7Jx2KvyzdWyHPAKPfhQ3aYNM11cN7VlFxeja+xJsBEtbFiU2+WdBd6bit+3lnopz5s43iri0pcEG4gwgr+ojihF3vbJgXbfHgf3HnsOTKV/x1Hq2VKJGnITZTU1BPJosduUdVCY40M5Brk+M4YVRheg/6bYlwZ73N0YvYGH8gagz0XrM3Lg80y8UNBFudaUXA6JANncGODAmKry/gERg+ukNdkLRjm+iE4WL7/nO29bl7vWaZbJq/JKHt9Tqbgj1AHRXTXqoI4LzsWnSFSzPQ27zrpi9BVGlxDuDfx6J3RWUqbujJQgj8cHoJ9obxT48OzThLRqgQbXr5fgk9dph+djKMwy9iPmPKFaNSj+4/6LbDxAgD35eH+cPeHIHapLcsVLOiBG8MUSl+z0vtw2XlAmFyOC6FkE5JtbkDGWVa353jHVFIvJkSLPokU8Uewz8mvg6A04PtNxalR7k5Jbfmuw50GJoefPJEY1M69QLnSO2KKhTPULv4uRqgj5wz6B1vFIc0qFHLiAIpHlPQcHhku2gAgYpAqXXE81+nJYMl2taP6C89cCXDbEDBSnFRBu1jPJb7omJB5S7pfWNpoZnsXKdDfxpT/Yp2TSKRwnqkDIH2u2mRm8cPN5PaMPaeKD7U/0FM6ut16AlT06VM5ygO2e+suaP2noTGqp0Cpg1rwM+q/8gNWLtziGZsiZzWc7bxWkKRymY0J8hgA+3ithkKqcadMoa1/9sTPEAUIHhVP3N7lD3ySZzerleOeQ7Pf+90DVXSIVD2tdrPiJsk/7rx4WEk/9uNsmwK1EEdHE0IAjDrRBmUXbL0cFyFt+RdZOVlxs1cbxibjcDTphkNMS0Pvjd9Ddh8wHjlqhdW2DCQ7X3VY8pMXKHQ0TeOkblq7GBIg331BIqqNOgaD00+/DawbCO+ppxpyy5ox71ROX4tAH35d3hsIxtFtL26X/HH6D3gdB87Xlgx9zNGASPkgjv4ermMQIhG1DBxN4fNDBrwKIjWC7zH+/uxYow8IfITYZ7MRzyKtzP2eT0uyigl7MNxxLwZCkCBfe+90Y1v8Z02cTo+Q==",
            "1; BN6PR03MB2947;\n\t6:8EFaT2NZsscQVaOrPQad8MvB6uWcFIBrbPc0F3ChLZWTEheUxGWyX2wLA1Er6NizQkqsYUUBI7IAcYcd2O9k2+MFBiVfAFnAqYAwTekECETnktusZk9UgsTn7eYk972aAlNgf9cU36gNCUgjsYg+NmowMoN6T/ZLacKJvsmXVxKeh5aMVh1DsdYnNXucWQ80HnbBr0XmC8vOJedFuqjENOPF75OI6ynvkJQo46f8yJTR57X2XyzX0XQ/4Nl7DTXqCM7CPsHFRTUniNURX2aNELVoQfcK5mY2mf0H1mVdfu+XKgYxGa6X6skuz+AOVERj32g9uq2hSIvfMEDiJ2QK7nes8reqTVyU2hSd8+cjLceC8ODtbPRSxTusi4mKThytcRe6CmNl9QFreo2hE3GwIIjKM6OKWAqWp+RXxtSTtvI=;\n\t5:Q+HagOcU4CXVgREO86GuexKnjs2u3qDBA+i83HvFbfTUjiySmkvsQ8s19Us9YyQ5WxA10OOFupQMujzmq5L0vPyPOIt43ldenx/crlAdUGnYdrAsYVVtT7jErHfFPLMRPDZlr8vG4Po76hYGjn8MmcCkkvGgLZdf4WYUvHNmY023LCXLx+o9fWtiNsIYfiRF;\n\t24:fVY9cD9FknDOnMw7mbyaIvvpt1h9JJ1BwGQv4rSZTlnP2ibBeeR+D3jMfKxWUNG+W9HPHL6hO4qhzYJrcTScxOisP6sc0QImm9g8/DyKxbY=",
            "1; BN6PR03MB2947;\n\t7:hH5MYGpi3x+ftXpte/5Ce++2JmMZi1IzCVEtoxLh/LU0zKcPgWIH2Cva0qhT96Cwv7Pnbwm1BXotZml2dw570u7oL+lxma8KfapzxIXv0VuHjRlg/UqGdtUeHpA8bFsD7SA7rNdNnKxUWO7bCvnhCsoRDKNtLHE0OZXgVhWxq/N7LqNni8SZti4+8AP8ijzfyEGNmLwWVvvXbFOxi06F9D8KwkiqZd6+thp5WUxK1T2wcRoTzINT703FILFQzrR4ef1Yq3UzQHo+CLEYnFeqbniPOrsJYUVTUNYKRxADOhVb/x1bzYqt7EajxM+Wbd4AUfGhC7qKW+XPYI5WNusNBA=="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-Office365-Filtering-Correlation-Id": "379ebc4b-4f89-40e8-8181-08d46204eda9",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:BN6PR03MB2947; ",
        "X-Microsoft-Antispam-PRVS": "<BN6PR03MB2947EA7407814065B58A040A892B0@BN6PR03MB2947.namprd03.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197)(275809806118684); ",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(6095060)(601004)(2401047)(8121501046)(5005006)(13017025)(13015025)(13024025)(13018025)(13023025)(10201501046)(3002001)(6055026)(6096035)(20161123561025)(20161123559025)(20161123556025)(20161123565025)(20161123563025);\n\tSRVR:BN6PR03MB2947; BCL:0; PCL:0; RULEID:(400006); SRVR:BN6PR03MB2947;",
        "X-Forefront-PRVS": "0235CBE7D0",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "03 Mar 2017 07:14:27.0910\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": "BN6PR03MB2947",
        "Subject": "[dpdk-dev] [PATCHv8 26/46] net/dpaa2: attach the buffer pool to dpni",
        "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 configures a MC-DPNI based DPAA2 PMD network\nport with a DPBP based buffer pool.\n\nSigned-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n drivers/net/dpaa2/Makefile             |  4 +++\n drivers/net/dpaa2/base/dpaa2_hw_dpni.c | 57 +++++++++++++++++++++++++++++++\n drivers/net/dpaa2/dpaa2_ethdev.c       | 62 ++++++++++++++++++++++++++++++++++\n drivers/net/dpaa2/dpaa2_ethdev.h       |  6 ++++\n 4 files changed, 129 insertions(+)",
    "diff": "diff --git a/drivers/net/dpaa2/Makefile b/drivers/net/dpaa2/Makefile\nindex b5f3ebb..086c76e 100644\n--- a/drivers/net/dpaa2/Makefile\n+++ b/drivers/net/dpaa2/Makefile\n@@ -51,6 +51,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc\n CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include\n CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc\n CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal\n+CFLAGS += -I$(RTE_SDK)/drivers/pool/dpaa2\n CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal\n \n # versioning export map\n@@ -65,8 +66,11 @@ SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += mc/dpni.c\n \n # library dependencies\n DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += lib/librte_eal lib/librte_ether\n+DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += lib/librte_mempool lib/librte_mbuf\n DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += drivers/bus/fslmc\n+DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += drivers/pool/dpaa2\n \n LDLIBS += -lrte_bus_fslmc\n+LDLIBS += -lrte_pool_dpaa2\n \n include $(RTE_SDK)/mk/rte.lib.mk\ndiff --git a/drivers/net/dpaa2/base/dpaa2_hw_dpni.c b/drivers/net/dpaa2/base/dpaa2_hw_dpni.c\nindex c95c083..08f53b3 100644\n--- a/drivers/net/dpaa2/base/dpaa2_hw_dpni.c\n+++ b/drivers/net/dpaa2/base/dpaa2_hw_dpni.c\n@@ -46,6 +46,7 @@\n \n #include <fslmc_logs.h>\n #include <dpaa2_hw_pvt.h>\n+#include <dpaa2_hw_mempool.h>\n \n #include \"../dpaa2_ethdev.h\"\n \n@@ -285,3 +286,59 @@ int dpaa2_remove_flow_dist(\n \t}\n \tkg_cfg->num_extracts = i;\n }\n+\n+int\n+dpaa2_attach_bp_list(struct dpaa2_dev_priv *priv,\n+\t\t     void *blist)\n+{\n+\t/* Function to attach a DPNI with a buffer pool list. Buffer pool list\n+\t * handle is passed in blist.\n+\t */\n+\tint32_t retcode;\n+\tstruct fsl_mc_io *dpni = priv->hw;\n+\tstruct dpni_pools_cfg bpool_cfg;\n+\tstruct dpaa2_bp_list *bp_list = (struct dpaa2_bp_list *)blist;\n+\tstruct dpni_buffer_layout layout;\n+\tint tot_size;\n+\n+\t/* ... rx buffer layout .\n+\t * Check alignment for buffer layouts first\n+\t */\n+\n+\t/* ... rx buffer layout ... */\n+\ttot_size = DPAA2_HW_BUF_RESERVE + RTE_PKTMBUF_HEADROOM;\n+\ttot_size = RTE_ALIGN_CEIL(tot_size,\n+\t\t\t\t  DPAA2_PACKET_LAYOUT_ALIGN);\n+\n+\tmemset(&layout, 0, sizeof(struct dpni_buffer_layout));\n+\tlayout.options = DPNI_BUF_LAYOUT_OPT_DATA_HEAD_ROOM;\n+\n+\tlayout.data_head_room =\n+\t\ttot_size - DPAA2_FD_PTA_SIZE - DPAA2_MBUF_HW_ANNOTATION;\n+\tretcode = dpni_set_buffer_layout(dpni, CMD_PRI_LOW, priv->token,\n+\t\t\t\t\t DPNI_QUEUE_RX, &layout);\n+\tif (retcode) {\n+\t\tPMD_INIT_LOG(ERR, \"Err(%d) in setting rx buffer layout\\n\",\n+\t\t\t     retcode);\n+\t\treturn retcode;\n+\t}\n+\n+\t/*Attach buffer pool to the network interface as described by the user*/\n+\tbpool_cfg.num_dpbp = 1;\n+\tbpool_cfg.pools[0].dpbp_id = bp_list->buf_pool.dpbp_node->dpbp_id;\n+\tbpool_cfg.pools[0].backup_pool = 0;\n+\tbpool_cfg.pools[0].buffer_size =\n+\t\tRTE_ALIGN_CEIL(bp_list->buf_pool.size,\n+\t\t\t       256 /*DPAA2_PACKET_LAYOUT_ALIGN*/);\n+\n+\tretcode = dpni_set_pools(dpni, CMD_PRI_LOW, priv->token, &bpool_cfg);\n+\tif (retcode != 0) {\n+\t\tPMD_INIT_LOG(ERR, \"Error in attaching the buffer pool list\"\n+\t\t\t\t\" bpid = %d Error code = %d\\n\",\n+\t\t\t\tbpool_cfg.pools[0].dpbp_id, retcode);\n+\t\treturn retcode;\n+\t}\n+\n+\tpriv->bp_list = bp_list;\n+\treturn 0;\n+}\ndiff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c\nindex ab9dfe6..906a4d9 100644\n--- a/drivers/net/dpaa2/dpaa2_ethdev.c\n+++ b/drivers/net/dpaa2/dpaa2_ethdev.c\n@@ -48,6 +48,7 @@\n #include <fslmc_logs.h>\n #include <fslmc_vfio.h>\n #include <dpaa2_hw_pvt.h>\n+#include <dpaa2_hw_mempool.h>\n \n #include \"dpaa2_ethdev.h\"\n \n@@ -63,6 +64,8 @@\n \tdev_info->if_index = priv->hw_id;\n \n \tdev_info->max_mac_addrs = priv->max_mac_filters;\n+\tdev_info->max_rx_pktlen = DPAA2_MAX_RX_PKT_LEN;\n+\tdev_info->min_rx_bufsize = DPAA2_MIN_RX_BUF_SIZE;\n \tdev_info->max_rx_queues = (uint16_t)priv->nb_rx_queues;\n \tdev_info->max_tx_queues = (uint16_t)priv->nb_tx_queues;\n \n@@ -187,6 +190,7 @@\n \tstruct dpni_queue cfg;\n \tuint8_t options = 0;\n \tuint8_t flow_id;\n+\tuint32_t bpid;\n \tint ret;\n \n \tPMD_INIT_FUNC_TRACE();\n@@ -194,6 +198,13 @@\n \tPMD_INIT_LOG(DEBUG, \"dev =%p, queue =%d, pool = %p, conf =%p\",\n \t\t     dev, rx_queue_id, mb_pool, rx_conf);\n \n+\tif (!priv->bp_list || priv->bp_list->mp != mb_pool) {\n+\t\tbpid = mempool_to_bpid(mb_pool);\n+\t\tret = dpaa2_attach_bp_list(priv,\n+\t\t\t\t\t   rte_dpaa2_bpid_info[bpid].bp_list);\n+\t\tif (ret)\n+\t\t\treturn ret;\n+\t}\n \tdpaa2_q = (struct dpaa2_queue *)priv->rx_vq[rx_queue_id];\n \tdpaa2_q->mb_pool = mb_pool; /**< mbuf pool to populate RX ring. */\n \n@@ -388,7 +399,9 @@\n \tstruct fsl_mc_io *dpni_dev;\n \tstruct dpni_attr attr;\n \tstruct dpaa2_dev_priv *priv = eth_dev->data->dev_private;\n+\tstruct dpni_buffer_layout layout;\n \tint i, ret, hw_id;\n+\tint tot_size;\n \n \tPMD_INIT_FUNC_TRACE();\n \n@@ -475,6 +488,55 @@\n \t\treturn -ret;\n \t}\n \n+\t/* ... rx buffer layout ... */\n+\ttot_size = DPAA2_HW_BUF_RESERVE + RTE_PKTMBUF_HEADROOM;\n+\ttot_size = RTE_ALIGN_CEIL(tot_size,\n+\t\t\t\t  DPAA2_PACKET_LAYOUT_ALIGN);\n+\n+\tmemset(&layout, 0, sizeof(struct dpni_buffer_layout));\n+\tlayout.options = DPNI_BUF_LAYOUT_OPT_FRAME_STATUS |\n+\t\t\t\tDPNI_BUF_LAYOUT_OPT_PARSER_RESULT |\n+\t\t\t\tDPNI_BUF_LAYOUT_OPT_DATA_HEAD_ROOM |\n+\t\t\t\tDPNI_BUF_LAYOUT_OPT_PRIVATE_DATA_SIZE;\n+\n+\tlayout.pass_frame_status = 1;\n+\tlayout.data_head_room = tot_size\n+\t\t- DPAA2_FD_PTA_SIZE - DPAA2_MBUF_HW_ANNOTATION;\n+\tlayout.private_data_size = DPAA2_FD_PTA_SIZE;\n+\tlayout.pass_parser_result = 1;\n+\tPMD_INIT_LOG(DEBUG, \"Tot_size = %d, head room = %d, private = %d\",\n+\t\t     tot_size, layout.data_head_room, layout.private_data_size);\n+\tret = dpni_set_buffer_layout(dpni_dev, CMD_PRI_LOW, priv->token,\n+\t\t\t\t     DPNI_QUEUE_RX, &layout);\n+\tif (ret) {\n+\t\tPMD_INIT_LOG(ERR, \"Err(%d) in setting rx buffer layout\", ret);\n+\t\treturn -1;\n+\t}\n+\n+\t/* ... tx buffer layout ... */\n+\tmemset(&layout, 0, sizeof(struct dpni_buffer_layout));\n+\tlayout.options = DPNI_BUF_LAYOUT_OPT_FRAME_STATUS;\n+\tlayout.pass_frame_status = 1;\n+\tret = dpni_set_buffer_layout(dpni_dev, CMD_PRI_LOW, priv->token,\n+\t\t\t\t     DPNI_QUEUE_TX, &layout);\n+\tif (ret) {\n+\t\tPMD_INIT_LOG(ERR, \"Error (%d) in setting tx buffer\"\n+\t\t\t\t  \" layout\", ret);\n+\t\treturn -1;\n+\t}\n+\n+\t/* ... tx-conf and error buffer layout ... */\n+\tmemset(&layout, 0, sizeof(struct dpni_buffer_layout));\n+\tlayout.options = DPNI_BUF_LAYOUT_OPT_FRAME_STATUS;\n+\tlayout.pass_frame_status = 1;\n+\tret = dpni_set_buffer_layout(dpni_dev, CMD_PRI_LOW, priv->token,\n+\t\t\t\t     DPNI_QUEUE_TX_CONFIRM, &layout);\n+\tif (ret) {\n+\t\tPMD_INIT_LOG(ERR, \"Error (%d) in setting tx-conf buffer\"\n+\t\t\t\t  \" layout\", ret);\n+\t\treturn -1;\n+\t}\n+\n \teth_dev->dev_ops = &dpaa2_ethdev_ops;\n \teth_dev->data->drv_name = rte_dpaa2_pmd.driver.name;\n \ndiff --git a/drivers/net/dpaa2/dpaa2_ethdev.h b/drivers/net/dpaa2/dpaa2_ethdev.h\nindex 2d13137..a56b525 100644\n--- a/drivers/net/dpaa2/dpaa2_ethdev.h\n+++ b/drivers/net/dpaa2/dpaa2_ethdev.h\n@@ -37,6 +37,9 @@\n #include <mc/fsl_dpni.h>\n #include <mc/fsl_mc_sys.h>\n \n+#define DPAA2_MIN_RX_BUF_SIZE 512\n+#define DPAA2_MAX_RX_PKT_LEN  10240 /*WRIOP support*/\n+\n #define MAX_TCS\t\t\tDPNI_MAX_TC\n #define MAX_RX_QUEUES\t\t16\n #define MAX_TX_QUEUES\t\t16\n@@ -57,6 +60,7 @@ struct dpaa2_dev_priv {\n \tvoid *rx_vq[MAX_RX_QUEUES];\n \tvoid *tx_vq[MAX_TX_QUEUES];\n \n+\tstruct dpaa2_bp_list *bp_list; /**<Attached buffer pool list */\n \tuint32_t options;\n \tuint16_t num_dist_per_tc[MAX_TCS];\n \tuint8_t max_mac_filters;\n@@ -71,4 +75,6 @@ int dpaa2_setup_flow_dist(struct rte_eth_dev *eth_dev,\n int dpaa2_remove_flow_dist(struct rte_eth_dev *eth_dev,\n \t\t\t   uint8_t tc_index);\n \n+int dpaa2_attach_bp_list(struct dpaa2_dev_priv *priv, void *blist);\n+\n #endif /* _DPAA2_ETHDEV_H */\n",
    "prefixes": [
        "dpdk-dev",
        "PATCHv8",
        "26/46"
    ]
}