get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 77547,
    "url": "http://patches.dpdk.org/api/patches/77547/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1600012140-70151-5-git-send-email-bingz@nvidia.com/",
    "project": {
        "id": 1,
        "url": "http://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": "<1600012140-70151-5-git-send-email-bingz@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1600012140-70151-5-git-send-email-bingz@nvidia.com",
    "date": "2020-09-13T15:49:00",
    "name": "[RFC,v2,4/4] ethdev: add new attributes to hairpin queues config",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "61e8511c3e3a652a6ec72269b1d93e7ddb560d55",
    "submitter": {
        "id": 1976,
        "url": "http://patches.dpdk.org/api/people/1976/?format=api",
        "name": "Bing Zhao",
        "email": "bingz@nvidia.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1600012140-70151-5-git-send-email-bingz@nvidia.com/mbox/",
    "series": [
        {
            "id": 12169,
            "url": "http://patches.dpdk.org/api/series/12169/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12169",
            "date": "2020-09-13T15:48:56",
            "name": "introduce support for hairpin between two ports",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/12169/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/77547/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/77547/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id A4A65A04C9;\n\tSun, 13 Sep 2020 17:50:08 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 6F5581C0D9;\n\tSun, 13 Sep 2020 17:50:01 +0200 (CEST)",
            "from git-send-mailer.rdmz.labs.mlnx (unknown [37.142.13.130])\n by dpdk.org (Postfix) with ESMTP id 01D931C08C\n for <dev@dpdk.org>; Sun, 13 Sep 2020 17:50:00 +0200 (CEST)"
        ],
        "From": "Bing Zhao <bingz@nvidia.com>",
        "To": "thomas@monjalon.net, orika@nvidia.com, ferruh.yigit@intel.com,\n arybchenko@solarflare.com",
        "Cc": "dev@dpdk.org",
        "Date": "Sun, 13 Sep 2020 23:49:00 +0800",
        "Message-Id": "<1600012140-70151-5-git-send-email-bingz@nvidia.com>",
        "X-Mailer": "git-send-email 2.5.5",
        "In-Reply-To": "<1600012140-70151-1-git-send-email-bingz@nvidia.com>",
        "References": "\n <CY4PR1201MB0072A4383E611EB8B65D89A6D0240@CY4PR1201MB0072.namprd12.prod.outlook.com>\n <1600012140-70151-1-git-send-email-bingz@nvidia.com>",
        "Subject": "[dpdk-dev] [RFC PATCH v2 4/4] ethdev: add new attributes to hairpin\n\tqueues config",
        "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://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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "To support two ports hairpin mode and keep the backward compatibility\nfor application, two new attribute members of hairpin queue config\nstructure are added.\n\n`tx_explicit` means if PMD or application itself will insert the TX\npart flow rules.\n`manual_bind` means if the hairpin TX queue and peer RX queue will be\nbound automatically during device start stage.\n\nDifferent TX and RX queue pairs could have different values, but it\nis highly recommend that all paired queues between one egress and its\npeer ingress ports have the same values, in order not to bring any\nchaos to the system. The actual support of these attribute parameters\nwill be checked and decided by the PMD driver.\n\nIn a single port hairpin, if both are zero without any setting, the\nbehavior will remain the same as before. It means no bind API needs\nto be called and no TX flow rules need to be inserted manually by\nthe application.\n\nSigned-off-by: Bing Zhao <bingz@nvidia.com>\n---\n lib/librte_ethdev/rte_ethdev.h | 17 +++++++++++++++++\n 1 file changed, 17 insertions(+)",
    "diff": "diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h\nindex fb217b4..9560d60 100644\n--- a/lib/librte_ethdev/rte_ethdev.h\n+++ b/lib/librte_ethdev/rte_ethdev.h\n@@ -996,6 +996,21 @@ struct rte_eth_hairpin_cap {\n \n #define RTE_ETH_MAX_HAIRPIN_PEERS 32\n \n+/*\n+ * Hairpin queue attribute parameters.\n+ * Each TX queue and peer RX queue should have the same value.\n+ * Default value 0 is for backward-compatibility, the same behaviors should\n+ * remain if the value is not set (0).\n+ */\n+/**< Hairpin queues will be bound automatically */\n+#define RTE_ETH_HAIRPIN_BIND_AUTO\t\t(0)\n+/**< Hairpin queues will be bound manually with bind API */\n+#define RTE_ETH_HAIRPIN_BIND_MANUAL\t\t(1)\n+/**< Hairpin TX part flow rule will be inserted implicitly by PMD */\n+#define RTE_ETH_HAIRPIN_TXRULE_IMPLICIT\t\t(0)\n+/**< Hairpin TX part flow rule will be inserted explicitly by APP */\n+#define RTE_ETH_HAIRPIN_TXRULE_EXPLICIT\t\t(1)\n+\n /**\n  * @warning\n  * @b EXPERIMENTAL: this API may change, or be removed, without prior notice\n@@ -1016,6 +1031,8 @@ struct rte_eth_hairpin_peer {\n struct rte_eth_hairpin_conf {\n \tuint16_t peer_count; /**< The number of peers. */\n \tstruct rte_eth_hairpin_peer peers[RTE_ETH_MAX_HAIRPIN_PEERS];\n+\tuint16_t tx_explicit; /**< Explicit TX flow rule by APP. */\n+\tuint16_t manual_bind; /**< Manually binding hairpin queues. */\n };\n \n /**\n",
    "prefixes": [
        "RFC",
        "v2",
        "4/4"
    ]
}