get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 41131,
    "url": "https://patches.dpdk.org/api/patches/41131/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1528976946-14396-10-git-send-email-anoob.joseph@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": "<1528976946-14396-10-git-send-email-anoob.joseph@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1528976946-14396-10-git-send-email-anoob.joseph@caviumnetworks.com",
    "date": "2018-06-14T11:49:00",
    "name": "[v1,09/15] examples/l2fwd: move drain buffers to new function",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "ee788ce42118dc0450bd7c4e5c15958910bf99ef",
    "submitter": {
        "id": 893,
        "url": "https://patches.dpdk.org/api/people/893/?format=api",
        "name": "Anoob Joseph",
        "email": "anoob.joseph@caviumnetworks.com"
    },
    "delegate": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1528976946-14396-10-git-send-email-anoob.joseph@caviumnetworks.com/mbox/",
    "series": [
        {
            "id": 126,
            "url": "https://patches.dpdk.org/api/series/126/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=126",
            "date": "2018-06-14T11:48:52",
            "name": "[v1,01/15] examples/l2fwd: add new header to move common code",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/126/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/41131/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/41131/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 [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 768B91E44D;\n\tThu, 14 Jun 2018 13:50:26 +0200 (CEST)",
            "from NAM02-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam02on0054.outbound.protection.outlook.com [104.47.36.54])\n\tby dpdk.org (Postfix) with ESMTP id 0D8AF1E41E\n\tfor <dev@dpdk.org>; Thu, 14 Jun 2018 13:50:19 +0200 (CEST)",
            "from ajoseph83.caveonetworks.com.caveonetworks.com (115.113.156.2)\n\tby BN7PR07MB4898.namprd07.prod.outlook.com (2603:10b6:406:ef::27)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.16;\n\tThu, 14 Jun 2018 11:50:15 +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:X-MS-Exchange-SenderADCheck;\n\tbh=N86wZu+JX9yVppnJMueYKJ7C0TW6lHmryKiM6HlWzeA=;\n\tb=AwmlTliVKQmAXIQc3O+2RgjN90DmzyW8fCr095+PrOCMptaDbxRxhv9psimGz5AnTeEbDESUwub7HK5JrrszMD8mFfx96hzLrD8QDsFZU1HiV9ep2BxRXqq0VVjk256Bbi8eqIIxxSNNtWLmwpnq8REmlohIQqxUnz5qzsumzzM=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Anoob.Joseph@cavium.com; ",
        "From": "Anoob Joseph <anoob.joseph@caviumnetworks.com>",
        "To": "Bruce Richardson <bruce.richardson@intel.com>,\n\tPablo de Lara <pablo.de.lara.guarch@intel.com>",
        "Cc": "Anoob Joseph <anoob.joseph@caviumnetworks.com>,\n\tJerin Jacob <jerin.jacob@caviumnetworks.com>,\n\tNarayana Prasad <narayanaprasad.athreya@caviumnetworks.com>, dev@dpdk.org",
        "Date": "Thu, 14 Jun 2018 17:19:00 +0530",
        "Message-Id": "<1528976946-14396-10-git-send-email-anoob.joseph@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1528976946-14396-1-git-send-email-anoob.joseph@caviumnetworks.com>",
        "References": "<1528477766-15788-1-git-send-email-anoob.joseph@caviumnetworks.com>\n\t<1528976946-14396-1-git-send-email-anoob.joseph@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[115.113.156.2]",
        "X-ClientProxiedBy": "PN1PR01CA0095.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:c00::11)\n\tTo BN7PR07MB4898.namprd07.prod.outlook.com\n\t(2603:10b6:406:ef::27)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "6735434d-4539-44a2-1eb2-08d5d1ed0001",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652020)(5600026)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);\n\tSRVR:BN7PR07MB4898; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BN7PR07MB4898;\n\t3:K5tlt6RWG5o393kPZJ0qwPdYzAOIH5rIVDrBuMGLcNUo722mcnyvHE6r/OaW0qi3vSFc9YBCe0tvNmm7ibvrr6OotGhX1rreCYCqov0BhoQ+yi1VIxmbFtRpRu1ZWmkwIv1wHTY+VFxFZaW1ZQ7bxMHRvIZuprTNxVA4rMuzc7927WqSqAD3AhszzcHGYJHGD6g+shaM1dSw4EUG5URkTekw2Vh84ImN+SYtbAbXQvRJJ1ghECnnD3k1wzxXobiF;\n\t25:UD61LrhZS1KOhkDEX+1LUJxDoMW9aNvhbrH3gd7DYP3YB6YEpIUUmiIfGzhjfCPDvlMAgWumFsBrWdC3kLAUYqxhkgKDR6K7BKP2QAsRuSeGrjuhxeO/1/TDAK7eYcslSqKTwc8QeURZ8hee06ev1s/0blAQnQ+pcFK4eJgDYoJFG8Hg7h60kSVPeS4MsT8MHoorA+vntatue0FHCXjVN3hj7qfuYKM2TyecXSvI4y15fx7lTYVnCNU+19FFx8MleKngS2XesWHW++IPHhbpogps54OdkKeuGYUHGeg0MjgejqJ5WxWcspC64l4wZs0NCbQPk3od9U4Ht3Yol9OkCw==;\n\t31:E3noHjy0NjJlOUkHRdeb3TByPAeh7bMjvCTzBVAs7NRCTGs2JU94IUXFL6NHE4POjzyyzJNuwI+14vMMoc8Al1F5n99OTfavOzTYlgHPVdNDxsApD87hELmFDlFoCAMrYpVd1MTZaG7u2lOzMvWxq1J0iI7gdXbbH+Oj2mPruIda7dU/QKG7+FqUIc82uIJlbylZLsXFGZOVcTgfYr4JgjoWWQEzb9QbNWm+eIGOpKA=",
            "1; BN7PR07MB4898;\n\t20:ZXTdZK2p5DYFXy0wGseEmXqveky0NeGJWk3kjNVumVwHTwNEdewKuFPyZkrLKcj78D3Gq1cbZCdsrWfCDk9/WZVtsbi2kj8pr2A7OmgYbc4xm3TNvEB2onk0rs+tcGWOhSwv5vFh1eNonw3evUrmatSrA4K0WvhOjOrso1qMqNHNKjtNME7q5eHSdkioBEoz7brvf9db9BuWPfQ1BgiAKZ8OpTmiGgyTWsJJce+sS3fvZ25mMMOL0vTLBVXIDn1fwaUi9L3dgYn3Zc4un52nevnUQbHM20s0lbwQUVF+ECW+jaLvmHsN30ejCFePF7C+cD+YtnOQzNDKae3vGwevbtmJgLZAFsFf+tLKqV6A12nY614L88E9xOAAmfbehItusplMrvNLLWfnKPspH0cBRSf5KfCp+zDdbcNZnEvTjlpkwMW3J7GZz2aqssBK5Dz7di4Tz7E+1+dby2g1oHuf9bPTRchybet6rKEkr3dTaHOXLvz2XMbdn93eumCGIw90QywzxsboVBO0aTNot5zOqLgluVsfn6VLAZcCWSSafbzqsegQ47Lxs4ufaA9hm+UXug5EHQmPWgGjMBu6gMSoMuE1joIEoEU7+cjJADxqvW4=;\n\t4:YnDA02yWRJeXIQE+pEZc6Ci9E8H7XhM6CcYt8V8jjUMcO9NTdPTHshwY1p1t20XETrlkj0ITzY6J3E7r1uACM84WKyd3E4HwF0uqyvIqKKZZv6xvjY7i71Kmzx3bS5+B50sbyI7USfwC3jA7SelHPNbfXXGC9Uo6a5bloDjnQRbI9dP5JB8uK/wqwfcdf4h+FKt6648N+cOhWF5QjkDVDrgNwHhHwFaVUu06RAj02gfTKN10o3f6UNtfFOUHlvWtRw1XUMlb4ZwNIk+BbgM3IA==",
            "=?us-ascii?Q?1; BN7PR07MB4898;\n\t23:7wGNpgNLb2KpxSGaoQKRa9ILW3YM3SlL5X2lXwmDw?=\n\tYSXiCaci0TQewyJwCKJ9szTTSm+PbXsY+107RNVJDBLzGICt6BXHwTyIko2Rh9BT/2KT6dpIVJpxmsNKtlmdqAVXVONJ2/pRfc1WvlP7y9uNjr+E0T7BTwiwQk6lK3W1xkir2uXi4WOzK5FeeZvOFd/nPwcMKSEkPmnAX6sM5+JchCBrqqtHVhZdZ7FuOfgzYFbQD5IZX4QuJCVaDe2eb2Ez/d6gBy5bD10jtoJapHK1IkMOVTq9yExE+PZFuLKQhx74ZXOhESjkIMwYzG13Nc1LpEct8uJTa8FWuLsjsxWyd8OxF9LxFgeINw2zH+HB05zZ5Qf7mj+MoNNz3HuAhRjvrdg69ZefB9y2JOJOzpuUlZJtbBXfU41ZOPv7xYHRwCbLUWytevFA5QU2Qv7BVVAGivb1k3pfdEn2DUycpZkIdQSpOvKEkCu77SfF/pwsv59c2pRID1KamUx1u3hd9dASDmrMVbkgn9cl3IvlapRJv8m8TVSWr5mVk12kdBClmYhQR5XXv5kwjKfJ0yz1/KajHOGEsKCjDw17Bs3NVEhKuSbq7g29jG7I+32FnF7St4rOJVFeipUIaaxb0ZMUernInXfhv4ma5zrmad+9S+PhvEiw5hGWNDv8DlC1+tV/1/y5YrpI0eBUS+GaJ/D6Ruzx9xaxWaoBZBmz7AQ+fOARrSDuyCEj9hFaH/th1PJhYkkJRdt4r62yZ2GwgIGtcuYo6aQCIdLAN/HZO4n0gYwzMXEVBJbPovGEfFczVJbCm7Jhj1/aBkl2cXzdnp42DV86Tet+3NrNuQNisXMcHTbxojOdkOPBfmiisJL4Iz7xis1lAnRxcERE9m7972/ClSjDQ0GlnovozSsvd12tXBTf4C7IcqRX1mbsWFSX3pV63M+VZz8MBEZF8B/Lp93k1RsnQtV5F8v8edpb4SltrQgUY3MngXDOMyDTE86JTY0hz5E4qVWY7eZZPupvcYX24NxTKYQdrck6VmpsB06OEQesegjGTV71/YPS5WPXGV4On6CYC4jPOOucS4I7hSEEZcJI3Vrekbbr7+4ppeQK9Kh9Z7OtRagwa8Bfv9n+SmG59LHiKShnLFr69+h3tLdYF2l6RJVDUdx9nQYcXj6qJT7zbUcuy5gxEzX5MnPg+6oaDlfJ/abamvjxJHjkdlZOINx4WV/ZX3q8H83UsmU/lg+Kw9N4IsSr9tOl0OgyETjqB+Lhn5PZ5zr/b3V74NAdHvT",
            "1; BN7PR07MB4898;\n\t6:rxkBLG1FG3opeInN2MI46MGAguXPFeheW46Xnio487VmasBNQXJJOFwYYXRD019c6YGM6NT306glZFci9NqRo4jcCn9HzVe7Q/g1xgmjlHLz109kQVGJFFt/5wYkhm2caTFcBx+xTWoKrDE1umGi9+aJBzwz79oTmSDG4IG1WrZNW88eLUgzXrKQYF/dQY5tixHlhp1IM8eLZ2TA3rLc/1pP+0pLxlJp3wAcPu8socyRD38TlrvFyDdRoPmFRFwx9xcqAQ8GHwiEARrhFowGv058NECzfCcHUqQp6FgYwJ/RE54PD67iQyuXdIsj88K77pBLfXsIActf+BCgo7PVp4BqqZlTl1R/SuHAYAhcHhuezchrAMhxwow38HceKcDqiBX5YstdW6Cmq0G5ErpozpkPuwz7gkQepVMRttYZPVzdRBYR/wNsb5NZkpbwz7/NDwB0pJPK8ZoJ9A+kWD6jpw==;\n\t5:i3W7WNc4jf4Jt+4X3GgUNSCL44yfmpfc4eiGEolYx78IcXeZ/9XZLVZhhvo7373pfKy86KcbcO2Ht/XkkMI+hpuj844l5PIGJVD05lrm5bsv8lgdIWcqytCwEBOCopGR/vse4AlHqPGECzeVHTYxHDJjHjSQkCVT12IS3sgaPs4=;\n\t24:U3DMZvLuMLgCmyjVZ0LeqaD55dzXotyI/nvv9xcK4qgFjzWC/5mnajCHPITi2OGh9onB9Nf74Hr2ePyiowxY/9+D+GWHoi7sW2CJKJcoW4Y=",
            "1; BN7PR07MB4898;\n\t7:KGwcmOgqxWMWCbzLbEe6zX6da3LJmVVFjJsnL05NLEvq95LcdjsmwVv/GAThNNVTHjwAxZ1109ojngKGrRjLnA1hzU2UiEvErbqU2DP8eAveEGH+iCJHowF9pcpDSJuolO9O83H6x1HMkCS7Z9HjL2gqDuwaZ8cOd/emZ9mQBc3rUa+C4/2Z/8p9D4+Fe3lgArhJr+UMCVJfcckJRT9anDK0h7+JlR+Vn/FIV/aQ2SRh38apAWuEfW551rcfJxsG"
        ],
        "X-MS-TrafficTypeDiagnostic": "BN7PR07MB4898:",
        "X-Microsoft-Antispam-PRVS": "<BN7PR07MB48988BB22B0777B4F95AF991F87D0@BN7PR07MB4898.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3231254)(944501410)(52105095)(93006095)(3002001)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016);\n\tSRVR:BN7PR07MB4898; BCL:0; PCL:0; RULEID:; SRVR:BN7PR07MB4898; ",
        "X-Forefront-PRVS": "0703B549E4",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(39860400002)(39380400002)(396003)(376002)(346002)(366004)(199004)(189003)(446003)(956004)(2616005)(305945005)(6666003)(47776003)(476003)(54906003)(44832011)(53936002)(68736007)(486006)(110136005)(8936002)(8676002)(81156014)(16586007)(316002)(81166006)(25786009)(4326008)(7736002)(6116002)(3846002)(11346002)(97736004)(36756003)(106356001)(478600001)(105586002)(42882007)(52116002)(51416003)(26005)(16526019)(186003)(50226002)(66066001)(72206003)(6486002)(2906002)(55236004)(50466002)(6512007)(386003)(6506007)(5660300001)(76176011)(48376002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN7PR07MB4898;\n\tH:ajoseph83.caveonetworks.com.caveonetworks.com; FPR:; SPF:None;\n\tLANG:en; PTR:InfoNoRecords; A:1; MX:1; ",
        "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "EC46vpGJbmMVafXQ7d573zBa5S7uWBon7ANfBAKX9OVHuPSS4SaeqJSGvyc0hZndvOxHoZgkLQ0l1spZyQOhmrq/Ep2e/5aFNxzjRNhk86kQxuzMxF5oN2+VcbpYBaUoWihMcF3GAmhEIhGwrz4Eyrj2MhgvpqdygGWQiQenJLWd+ZddDD1VK1PRA6WbU4Fd",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "14 Jun 2018 11:50:15.9656\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "6735434d-4539-44a2-1eb2-08d5d1ed0001",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN7PR07MB4898",
        "Subject": "[dpdk-dev] [PATCH v1 09/15] examples/l2fwd: move drain buffers to\n\tnew function",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://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": "<https://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": "Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>\n---\nv1:\n* Replaced 'unsigned' with 'unsigned int'\n\n examples/l2fwd/l2fwd_worker.c | 34 ++++++++++++++++++++--------------\n 1 file changed, 20 insertions(+), 14 deletions(-)",
    "diff": "diff --git a/examples/l2fwd/l2fwd_worker.c b/examples/l2fwd/l2fwd_worker.c\nindex ad5468a..dfa78ed 100644\n--- a/examples/l2fwd/l2fwd_worker.c\n+++ b/examples/l2fwd/l2fwd_worker.c\n@@ -76,6 +76,24 @@ print_stats(void)\n \tprintf(\"\\n====================================================\\n\");\n }\n \n+static inline void\n+l2fwd_drain_buffers(struct lcore_queue_conf *qconf)\n+{\n+\tunsigned int i, sent;\n+\tunsigned int portid;\n+\tstruct rte_eth_dev_tx_buffer *buffer;\n+\n+\tfor (i = 0; i < qconf->n_rx_port; i++) {\n+\n+\t\tportid = l2fwd_dst_ports[qconf->rx_port_list[i]];\n+\t\tbuffer = tx_buffer[portid];\n+\n+\t\tsent = rte_eth_tx_buffer_flush(portid, 0, buffer);\n+\t\tif (sent)\n+\t\t\tport_statistics[portid].tx += sent;\n+\t}\n+}\n+\n static void\n l2fwd_mac_updating(struct rte_mbuf *m, unsigned int dest_portid)\n {\n@@ -116,7 +134,6 @@ l2fwd_main_loop(void)\n {\n \tstruct rte_mbuf *pkts_burst[MAX_PKT_BURST];\n \tstruct rte_mbuf *m;\n-\tint sent;\n \tunsigned int lcore_id;\n \tunsigned int master_core_id;\n \tuint64_t prev_tsc, diff_tsc, cur_tsc, timer_tsc;\n@@ -124,7 +141,6 @@ l2fwd_main_loop(void)\n \tstruct lcore_queue_conf *qconf;\n \tconst uint64_t drain_tsc = (rte_get_tsc_hz() + US_PER_S - 1)\n \t\t\t/ US_PER_S * BURST_TX_DRAIN_US;\n-\tstruct rte_eth_dev_tx_buffer *buffer;\n \n \tprev_tsc = 0;\n \ttimer_tsc = 0;\n@@ -159,18 +175,8 @@ l2fwd_main_loop(void)\n \t\tdiff_tsc = cur_tsc - prev_tsc;\n \t\tif (unlikely(diff_tsc > drain_tsc)) {\n \n-\t\t\tfor (i = 0; i < qconf->n_rx_port; i++) {\n-\n-\t\t\t\tportid =\n-\t\t\t\t\tl2fwd_dst_ports[qconf->rx_port_list[i]];\n-\t\t\t\tbuffer = tx_buffer[portid];\n-\n-\t\t\t\tsent = rte_eth_tx_buffer_flush(portid, 0,\n-\t\t\t\t\t\tbuffer);\n-\t\t\t\tif (sent)\n-\t\t\t\t\tport_statistics[portid].tx += sent;\n-\n-\t\t\t}\n+\t\t\t/* Drain buffers */\n+\t\t\tl2fwd_drain_buffers(qconf);\n \n \t\t\t/* if timer is enabled */\n \t\t\tif (timer_period > 0) {\n",
    "prefixes": [
        "v1",
        "09/15"
    ]
}