get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 125314,
    "url": "https://patches.dpdk.org/api/patches/125314/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1CCF1B14C9842CED+002501d95b20$272f1b60$758d5220$@netitest.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": "<1CCF1B14C9842CED+002501d95b20$272f1b60$758d5220$@netitest.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1CCF1B14C9842CED+002501d95b20$272f1b60$758d5220$@netitest.com",
    "date": "2023-03-20T11:36:02",
    "name": "回复: af_packet can't send packet more than framecnt",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": true,
    "hash": "2bf410361b7885de2f7dade3a879e345c81c32eb",
    "submitter": {
        "id": 3007,
        "url": "https://patches.dpdk.org/api/people/3007/?format=api",
        "name": "",
        "email": "hfli@netitest.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/1CCF1B14C9842CED+002501d95b20$272f1b60$758d5220$@netitest.com/mbox/",
    "series": [
        {
            "id": 27462,
            "url": "https://patches.dpdk.org/api/series/27462/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=27462",
            "date": "2023-03-20T11:36:02",
            "name": "回复: af_packet can't send packet more than framecnt",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/27462/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/125314/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/125314/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id EEE01427E1;\n\tMon, 20 Mar 2023 12:36:10 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 867C340A7F;\n\tMon, 20 Mar 2023 12:36:10 +0100 (CET)",
            "from smtpbgjp3.qq.com (smtpbgjp3.qq.com [54.92.39.34])\n by mails.dpdk.org (Postfix) with ESMTP id 02E94406BC\n for <dev@dpdk.org>; Mon, 20 Mar 2023 12:36:07 +0100 (CET)",
            "from DESKTOPGF9TM7H ( [125.42.32.4])\n by bizesmtp.qq.com (ESMTP) with SMTP id 0\n for <dev@dpdk.org>; Mon, 20 Mar 2023 19:36:02 +0800 (CST)"
        ],
        "X-QQ-mid": "bizesmtp78t1679312163tlmnv8yq",
        "X-QQ-SSF": "00000000000000C0H000000A0000000",
        "X-QQ-FEAT": "90EFqYDyPxBOaoNZFIixbrf4LnH06SjvpSnxykWfdVKyo5Gygv2DQxpvk/xjm\n t4lolN/fyHfaP0JQVNfQCyH/PYksEsegxqnG7bC0QwHxY8dOXH/4Kpobjba89Y7GEzWrzI+\n h4Vme51XXcLyIzogYZbHqwbRvHHrBUNSSMBBynHKv9OiDBqL0s32LwZbv1lsgQNHrwYNor5\n 5LPcFXazgwDByj5AmZuvBsRngvwA+s1ipgBFsDrADIdpceuXLpBLU+cUfbQL3DXgzKEzby6\n hndGxB2Cu0pk12RqgJyo9wL3y1GEqTw4/z3WSOuoVr8Q6VfAjQTbtyobyyGAniyKvlE4ILy\n XQY7xrUP0GXaAOv8MW7RyZJqDvoc5t5/nA54X5+/I7lv+LqUuRYc8Wc1+IK+Q==",
        "X-QQ-GoodBg": "0",
        "From": "<hfli@netitest.com>",
        "To": "<dev@dpdk.org>",
        "References": "",
        "In-Reply-To": "",
        "Subject": "\n =?eucgb2312_cn?b?u9i4tDogYWZfcGFja2V0IGNhbid0IHNlbmQgcGFja2V0IG1vcmUgdGhh?=\n\t=?eucgb2312_cn?b?biBmcmFtZWNudA==?=",
        "Date": "Mon, 20 Mar 2023 19:36:02 +0800",
        "Message-ID": "<1CCF1B14C9842CED+002501d95b20$272f1b60$758d5220$@netitest.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain;\n\tcharset=\"gb2312\"",
        "Content-Transfer-Encoding": "quoted-printable",
        "X-Mailer": "Microsoft Outlook 16.0",
        "Thread-Index": "Adla2/m2oFOUykYESnWhnhHdvVELggAQ+sAw",
        "Content-Language": "zh-cn",
        "X-QQ-SENDSIZE": "520",
        "Feedback-ID": "bizesmtp:netitest.com:qybglogicsvr:qybglogicsvr5",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "Hi,\n\nThe issue has been resolved when I patched new code from dpdk 22.12, my dpdk\nversion is 19.11\n\n static uint16_t\n@@ -213,7 +236,7 @@\n                }\n \n                /* point at the next incoming frame */\n-               if (ppd->tp_status != TP_STATUS_AVAILABLE) {\n+               if (!tx_ring_status_available(ppd->tp_status)) {\n                        if (poll(&pfd, 1, -1) < 0)\n                                break;\n \n@@ -236,7 +259,7 @@\n                 *\n                 * This results in poll() returning POLLOUT.\n                 */\n-               if (ppd->tp_status != TP_STATUS_AVAILABLE)\n+               if (!tx_ring_status_available(ppd->tp_status))\n                        break;\n \n                /* copy the tx frame data */\n\n\nThanks,\nHaifeng\n\n-----邮件原件-----\n发件人: hfli@netitest.com <hfli@netitest.com> \n发送时间: 2023年3月20日 11:32\n收件人: 'dev@dpdk.org' <dev@dpdk.org>\n主题: af_packet can't send packet more than framecnt\n\nHi,\n\nI used af_packet interface, but found only can send packets successfully\nless than framecnt argument. \n\nE.g. if I pass “--vdev=eth_af_packet0,iface=tap0,blocksz=4096,framesz=2048,\nframecnt=512,qpairs=1,qdisc_bypass=0” to DPDK, the rte_eth_tx_burst only\nreturn 1 for 512 times, after that it always return 0.\nIf I pass\n“--vdev=eth_af_packet0,iface=tap0,blocksz=4096,framesz=2048,framecnt=1024,q\npairs=1,qdisc_bypass=0” to DPDK, the rte_eth_tx_burst only return 1 for\n1024 times, after that it always return 0.\n\nBTW, I use busy loop mode in project, Is there any help for this?\n\n\n\nThanks so much\nHaifeng",
    "diff": "Index: rte_eth_af_packet.c\n===================================================================\n--- rte_eth_af_packet.c (版本 44115)\n+++ rte_eth_af_packet.c (版本 44128)\n@@ -169,6 +169,29 @@\n }\n \n /*\n+ * Check if there is an available frame in the ring\n+ */\n+static inline int\n+tx_ring_status_available(uint32_t tp_status)\n+{\n+       /*\n+        * We eliminate the timestamp status from the packet status.\n+        * This should only matter if timestamping is enabled on the socket,\n+        * but there is a bug in the kernel which is fixed in newer\nreleases.\n+        *\n+        * See the following kernel commit for reference:\n+        *     commit 171c3b151118a2fe0fc1e2a9d1b5a1570cfe82d2\n+        *     net: packetmmap: fix only tx timestamp on request\n+        */\n+       tp_status &= ~(TP_STATUS_TS_SOFTWARE | TP_STATUS_TS_RAW_HARDWARE);\n+\n+       if (tp_status == TP_STATUS_AVAILABLE)\n+        return 1;\n+\n+    return 0;\n+}\n+\n+/*\n  * Callback to handle sending packets through a real NIC.\n  */\n",
    "prefixes": []
}