get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 40893,
    "url": "http://patchwork.dpdk.org/api/patches/40893/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1528477766-15788-10-git-send-email-anoob.joseph@caviumnetworks.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<1528477766-15788-10-git-send-email-anoob.joseph@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1528477766-15788-10-git-send-email-anoob.joseph@caviumnetworks.com",
    "date": "2018-06-08T17:09:20",
    "name": "[dpdk-dev,09/15] examples/l2fwd: move drain buffers to new function",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "e87fa3cfb105e3a5263b3b661ff9ec45a842f13f",
    "submitter": {
        "id": 893,
        "url": "http://patchwork.dpdk.org/api/people/893/?format=api",
        "name": "Anoob Joseph",
        "email": "anoob.joseph@caviumnetworks.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1528477766-15788-10-git-send-email-anoob.joseph@caviumnetworks.com/mbox/",
    "series": [
        {
            "id": 60,
            "url": "http://patchwork.dpdk.org/api/series/60/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=60",
            "date": "2018-06-08T17:09:11",
            "name": "preparing l2fwd for eventmode additions",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/60/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/40893/comments/",
    "check": "warning",
    "checks": "http://patchwork.dpdk.org/api/patches/40893/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 0324A1D008;\n\tFri,  8 Jun 2018 19:10:48 +0200 (CEST)",
            "from NAM01-BY2-obe.outbound.protection.outlook.com\n\t(mail-by2nam01on0079.outbound.protection.outlook.com [104.47.34.79])\n\tby dpdk.org (Postfix) with ESMTP id D342B1D003\n\tfor <dev@dpdk.org>; Fri,  8 Jun 2018 19:10:44 +0200 (CEST)",
            "from ajoseph83.caveonetworks.com.caveonetworks.com (115.113.156.2)\n\tby SN6PR07MB4911.namprd07.prod.outlook.com (2603:10b6:805:3c::29)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.15;\n\tFri, 8 Jun 2018 17:10:40 +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=IPDn0m8+KzEKK67fSC6OaQjwjKrPVotJaoxMMBkMASo=;\n\tb=I7VEjOuojJu2x26SrXiRd/G/vqMl63Jgz9TR3a+xHPBcwlp+77O/1ba2OAene3ZPuzV+JxfyJ6ucil3dQAJ74lBF1xzz8KhNcBkm4t9tRzwGYy46Zo6PFWhLMtgcTNkuCxyYTlAlK7JRlhiEb8Z/I/ZQ126d5EAkM3qKtJl87sw=",
        "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": "Fri,  8 Jun 2018 22:39:20 +0530",
        "Message-Id": "<1528477766-15788-10-git-send-email-anoob.joseph@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1528477766-15788-1-git-send-email-anoob.joseph@caviumnetworks.com>",
        "References": "<1528477766-15788-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": "BM1PR01CA0111.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:b00::27)\n\tTo SN6PR07MB4911.namprd07.prod.outlook.com\n\t(2603:10b6:805:3c::29)",
        "X-MS-PublicTrafficType": "Email",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652020)(5600026)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);\n\tSRVR:SN6PR07MB4911; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; SN6PR07MB4911;\n\t3:xg2sJx1qrB7gFwjh/jpNIjA5/OpXMU2yjEaV/ulAUJWTj24OdmZMwd35TLhPts2e27aOV9D8t/WhcFTpXvv6hN3dW1g4z386SHhRA2+IjbjCnFUWpPiKj8wBXRlJnd+GEz1BC/UayllaKYoDWO0UwElbCUSUZTizXXa0xARaoEoGhl2GrB6sW3E2gYj1wfkISyodYrNwx5xkGvBdfT0rza8dGI23eiOj1V2Ylnpa+H3PiTCrjqsXCeDNQ6RI00MA;\n\t25:+63J735EZuUWXtcVhmcGAK3jlL2W6UNTgabf/sKepomg1D2xchD1AI2Q1agALi0QjV+wWx2wcpN61zsuVriNJHmTi/gy4Clrw7Rgf8mISNfUcZEJCsY2SnSMVbjNKlzRn2frtdlwb21rYBugPqtiJXpLBViikHZwlyMP8Afx8sgBuA9UL3/9ltbg4EU3CdM6muuSEeInZFW2suAetQK8L9qJQeDK6+xV5OUvPeSBmLG98gjt6lHtYA+jvR60GPPDwyWaNsJXm6ozV1bLWGL8HqTWBYULBGN4jLAAhcll9DZK1XPHZe676kfDi9tA6f4R6TbwJq2cE4My3VTZsViA/Q==;\n\t31:GqWlmxffQRLsyaF4AGcOF8JKNElB9fGE1o/SEIAT4VcdxqHxlyYw4Dt5wWT8Rk6f/48db01JN7sWbSTKjprh1t/6yJJulg1FPuj0eORvqlEtnwnAOzuzzUhMOMwgXpO7wGeMq9EeNrIeFW3Xwt6s776XkX7YGVvR1SV+IDcOzzzHwOpfDQK8zFUse/GrgNxGLjxfrcFAjv+90XMBCvQ2bc+ShmSrH4MqsCrejSAkYHw=",
            "1; SN6PR07MB4911;\n\t20:uFYe6702oTYIhmJALorp8563G7dDlsoXC4xo3wYi3904aNRDrewWzBszzNpxqOHXteMN3wx45poQLAeDNozT4Y7Tsil/b8mjq3IXTged+3IXwPlQUehucphcn64x8hBZQhasXUibRlfRnZCHK/A670h8xtJm/v2Tm2tte0sAnqgi4bGDmtcqExiv9gT3KL5DWXGL30Q+Jzm993T2o+Qs8GYTS6wNIIFfkM3VFDip3nk7ZYAlmY+5qcsaryCAFs+C//nxqy/dLCKDKn72WfX5x0naMWhZUQVM4u4h+lCeErFVrvR1MsjkJeZBCKyVnQIyvAhl4OxmqAqs3pYiCz/wcnpFA3SU+xsGMfWiGJhWl4AIFXjS7xG+U+wgSZEHZmsx2Vy/jymfR4Yt14TE+y3M+iRvC3Xm0qSr8fOkQlSL3OzrjorfFf2XchbkqeO1sFf6EpH6EVNigvWweim2owqEwbgmZ1i+bmGHak0gfd3YMK2plD5+h2M3Zzuvz3NqI6VDe8Hv+JknQhxuV/hichgkf955M+1+2pLmnfa6oZ1ost2ueRVXeVo+wUIO5Dgo/dVNUtTHG57Xi5ddrGCuKoh5ecQO22lUwLbUx/em8wuUccU=;\n\t4:v0MV5zlGICHhm/xpM7e1hFrXmcdNOAIOHW07TZL50bXzZE7KBFG7q5Rte5BiixP/L0l/6YouLzK0c71zbb1jO6zCaebrFkj/djCtqecXqdU2cFI4Wbz9j+0UkYCD4TFp1LE/uoVzQsSJfSDWju9ImhUlkl8uI++UNRgdWwq4h9lDZru1jzyqdbvY2+IG8VWIJF/Ox6eVAAeCVEoWXzOY4vVtyt2yiKwVPtfKPMTZ/qgxhYdxtBhnnKKLjc/36VJ9irgEIs/V7iBShs+frHPvYg==",
            "=?us-ascii?Q?1; SN6PR07MB4911;\n\t23:wWK2bG5l4gjtNb9v1KWqTAHVWxVeToNN5Q1XvD8u9?=\n\tNOfXm7XDaM6BUS0xxXCSHJFZYwjJNhtdBuMnzFFc8rdRw90L7AuTNk79OjpBrVtNSBm8yGy2djYXYYFDRoFDyfwjCNBMQu6m1qYDgST0BW8HlZL4L9Pdq6mQ9GkSDMCBoUlzwGm9tIjiwpQNoQgTd1m12wd8mVvsomi/xUG7lDMprEqEPqXX7kcI/bz8SuoLyzmjjnvsvf+kiJOwZrGYOorXug2bHlOGkwC1eDOUuECjVHxI3C4o2NGCL1DJSnP4oQ6EE0cXMLVoWb/rwxMGE2/HoyG0R369FaMbEYAXROa3Xh4WDmYtPePE3u1HFTz0UMt7SmoRLg8eOYu/K2o6z3xt3HVcVeVdALVXo9KdS/+SVG002GmNgwBZNluwy7JMjsa4kQWPMK4WlD7Dsb9FswWhex8Iy0SXF/BXpNB+HU9dN2RGb2H58cVfgDKR5+CiCcqM5FPqmHnS3lyotKg7/eJ55f1JDYpmiTAzh9/WTOSe4TkqZujnThT7YE34K9MJIsdqCb43EbaoTRVrYh35u8DdrUTr1Pw6Msmxlo6SESQSaL+4YAHWA6yDfX/s4Sxy3KtBmtc/tdxJNZCyZk8puaiTKy50LlsedtSh2Jvme4sePnvvDNIYUBAgk8puommvCJPxVFrUSxzVhfuD8qaE55eTYTrv/MhAfv3R9h1v4TxsPdm+Ayauv6NYL9O2jay/7hxXCRt6h2+2/XQd/zGHHa+tk80M+bkuFpa5LWIbeDpmkj35rrCCdc2erm+vg3jddtzD9RV3SEOdV1UwHc0zpMyB97ieBI8/U7KertV/Pw6V0SIEmmBp0ZLdxZ8SBoLxIblwGPEo3gixlSgUfe+lNV5a1lBp12GgDBxEFnHO7LCx3RxMeG+lBzNasUI5OSahII5lg1jaR9khpx97jpdAi61XgwVQXe0Y/JLS1QQriT8/FGLjiQCPcw5L1B26zDbUsdSTkqx3Awp+FO6qQpGo0i4vcqgsVp25AN5ngh8tyEZIPoo6M8EacxuR981sHcSS8FHTF49Memyzd9hKQPwrgtR5mNGhfKaeYcAVDT+lNo5P6zigtv6ACSpAFMNhF8BAxx7pnBmW7oAtkhZLa0l9oykLwtDN/ul8We2sKJFgOqYcCYbJWamG1DXfjdtW0uENLUqjYo05bTHQxWbxLZnMGwMgGqpIqD8RU5WVLVuKhXhR2lxZaaQ02eBGcLwVaGNT+V+TIKUaEyint/fmVxHAJdi",
            "1; SN6PR07MB4911;\n\t6:FCu1LqmZS0oltikPTVGCo7t7H2e1XeV36RSr99gwaKOueBfxUkvI0r1LXa+fK/P+5JpxWh5eAkZQdnDTXmZ4l71Tk0LJmkQESbcEHShaK0Ex26ozKqz16kVGIrP9S8RzDbeIaKYPfkJ6Bku3umglpp7pGcVJ25k4RvKpIKFMfFmbwTyQvvYghBLBA/SLm5J+LOayDmU6UcxVtwEirWjSlrZuD00bBFKIEKdb5ehpWaHoh27P65a+qHUqoMEMA4FGOcgSRIweWkfY1mTXYHZAXgBy6IQdiAQiRj/43LVP6mSFFoMcBzRAPZdP78BGpbeh82caP5420mSgbbbRGpN/jP8oQiNsO0RUwYKbFdxdeV9XPZ4dyOVA1F7lSUTkwDZkabwbMBlf9EQPdHcy1m6iwgNcCESnq3lqiJvlr5UjOf4xwG5vaWLkO+qiBe648Gma/u/4bbFyg6ry6HeebgogOQ==;\n\t5:0Hp494g9D9wkPIGjpKrUM6f1iZF0sxu05PUHIixddIdioER6GQ3z7S2FfwcfSYg6M9SYbW/vfHLvWe9NGSlkkYIwdFBP0MD5P0P5ULNKdenQ5FqO065EKdvoS8d9ZmWqPiZzl3ojWtE4cy76TUGQXOi6R8jhWlzzOmuOBecil2M=;\n\t24:Y3novWpDUQ0I0bGRKAdYl2plQR/P08+Ox2xBAGgqJ0C0UC6xCTVfSAzD1n7SLwxAZLW1M4h/PqrinzIoFiH+BYTIqPn8Jj/URd0hHoyPMC0=",
            "1; SN6PR07MB4911;\n\t7:Fz/lnNHieOi/HGiR5ooHxnQZ32P3d8rfutp3WD2x0ROX+5mRaFJlRPBFg1QhiGNDgRzoyY/uSiAWjhL4G5Htb+E3RPgge8DFIQnifAu2zt4CqUbYLUquJcYeqbULJOwxNlgqCUmU0iOyte9lNUNT1ejz4eYCRjp1nDY/DyZujPfpxOybWaAWZXk78i2yZYjPMXYIB1IyjkHiAZ19/KQj+6aJ8UiC3pTL4MKUTkuQPpf5rBLOdeUjCURb8haJuUD+"
        ],
        "X-MS-TrafficTypeDiagnostic": "SN6PR07MB4911:",
        "X-Microsoft-Antispam-PRVS": "<SN6PR07MB4911DC470F40EE60EAD041BFF87B0@SN6PR07MB4911.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)(5005006)(8121501046)(3002001)(3231254)(944501410)(52105095)(10201501046)(93006095)(149027)(150027)(6041310)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016);\n\tSRVR:SN6PR07MB4911; BCL:0; PCL:0; RULEID:; SRVR:SN6PR07MB4911; ",
        "X-Forefront-PRVS": "06973FFAD3",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(366004)(39380400002)(39860400002)(376002)(396003)(346002)(199004)(189003)(6666003)(4326008)(54906003)(76176011)(5660300001)(25786009)(48376002)(50466002)(446003)(386003)(186003)(11346002)(16526019)(2616005)(42882007)(44832011)(51416003)(476003)(66066001)(110136005)(36756003)(316002)(55236004)(2906002)(7736002)(81156014)(81166006)(8936002)(50226002)(106356001)(105586002)(68736007)(52116002)(26005)(956004)(8676002)(305945005)(53936002)(6512007)(47776003)(486006)(478600001)(6486002)(6116002)(72206003)(3846002)(16586007)(6506007)(97736004);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:SN6PR07MB4911;\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": "rm/a59Sn3w6LPsfnwIpGy/qQ4GTLXKTJyi0NoYVF8Dz2lSqlvZHVKOVbWiJT6jc2bqB6477j0YHw3sMWoQ8dcXDXYj5MrU6XDb6ykaePEELzPiYYTX/K7TOspl4nhsoJgrk4UTyI/P6bPD0mXuynvYDFT0wWrpVIcDXvt6Ztq6XA216uxULAJhRJbw4+0/FY",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Office365-Filtering-Correlation-Id": "0fe103b2-ac2a-4088-f9f0-08d5cd62c48f",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "08 Jun 2018 17:10:40.9016\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "0fe103b2-ac2a-4088-f9f0-08d5cd62c48f",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SN6PR07MB4911",
        "Subject": "[dpdk-dev] [PATCH 09/15] examples/l2fwd: move drain buffers to new\n\tfunction",
        "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---\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 8298005..ee2de58 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 i, sent;\n+\tunsigned 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 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 lcore_id;\n \tunsigned 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": [
        "dpdk-dev",
        "09/15"
    ]
}