get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 129662,
    "url": "http://patchwork.dpdk.org/api/patches/129662/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20230720101236.177215-1-trevor.tao@arm.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": "<20230720101236.177215-1-trevor.tao@arm.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230720101236.177215-1-trevor.tao@arm.com",
    "date": "2023-07-20T10:12:36",
    "name": "[v1] examples/l3fwd: relax the RSS/Offload requirement",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "239115703c14ed210a2a86027f03883f341519c5",
    "submitter": {
        "id": 3043,
        "url": "http://patchwork.dpdk.org/api/people/3043/?format=api",
        "name": "Trevor Tao",
        "email": "trevor.tao@arm.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/20230720101236.177215-1-trevor.tao@arm.com/mbox/",
    "series": [
        {
            "id": 28982,
            "url": "http://patchwork.dpdk.org/api/series/28982/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=28982",
            "date": "2023-07-20T10:12:36",
            "name": "[v1] examples/l3fwd: relax the RSS/Offload requirement",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/28982/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/129662/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/129662/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 2BB4142EC5;\n\tThu, 20 Jul 2023 12:12:59 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id B7B1A40E2D;\n\tThu, 20 Jul 2023 12:12:58 +0200 (CEST)",
            "from foss.arm.com (foss.arm.com [217.140.110.172])\n by mails.dpdk.org (Postfix) with ESMTP id 80BFF40DF5;\n Thu, 20 Jul 2023 12:12:57 +0200 (CEST)",
            "from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2E4752F4;\n Thu, 20 Jul 2023 03:13:40 -0700 (PDT)",
            "from net-arm-thunderx2-04.shanghai.arm.com\n (net-arm-thunderx2-04.shanghai.arm.com [10.169.208.229])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 8A9153F6C4;\n Thu, 20 Jul 2023 03:12:54 -0700 (PDT)"
        ],
        "From": "Trevor Tao <trevor.tao@arm.com>",
        "To": "Thomas Monjalon <thomas@monjalon.net>",
        "Cc": "dev@dpdk.org, nd@arm.com, Trevor Tao <trevor.tao@arm.com>,\n stable@dpdk.org,\n Ruifeng Wang <ruifeng.wang@arm.com>, Feifei Wang <feifei.wang2@arm.com>",
        "Subject": "[PATCH v1] examples/l3fwd: relax the RSS/Offload requirement",
        "Date": "Thu, 20 Jul 2023 18:12:36 +0800",
        "Message-ID": "<20230720101236.177215-1-trevor.tao@arm.com>",
        "X-Mailer": "git-send-email 2.41.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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": "Now the port Rx mq_mode had been set to RTE_ETH_MQ_RX_RSS, and offload\nmode set to RTE_ETH_RX_OFFLOAD_CHECKSUM by default, but some hardware\nand/or virtual interface does not support the RSS and offload mode\npresupposed, e.g., some virtio interfaces in the cloud don't support\nRSS and may only partly support RTE_ETH_RX_OFFLOAD_UDP_CKSUM/\nRTE_ETH_RX_OFFLOAD_TCP_CKSUM,\nbut not RTE_ETH_RX_OFFLOAD_IPV4_CKSUM, and the error msg here:\n\nvirtio_dev_configure(): RSS support requested but not supported by\nthe device\nPort0 dev_configure = -95\n\nand:\nEthdev port_id=0 requested Rx offloads 0xe does not match Rx offloads\ncapabilities 0x201d in rte_eth_dev_configure()\n\nSo to enable the l3fwd running in that environment, the Rx mode requirement\ncan be relaxed to reflect the hardware feature reality here, and the l3fwd\ncan run smoothly then.\nA warning msg would be provided to user in case it happens here.\n\nFixes: af75078fece3 (\"first public release\")\nCc: stable@dpdk.org\n\nSigned-off-by: Trevor Tao <trevor.tao@arm.com>\nReviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>\nReviewed-by: Feifei Wang <feifei.wang2@arm.com>\n---\n .mailmap              |  1 +\n examples/l3fwd/main.c | 19 ++++++++++++++++++-\n 2 files changed, 19 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/.mailmap b/.mailmap\nindex 8e3940a253..602d8cbc6b 100644\n--- a/.mailmap\n+++ b/.mailmap\n@@ -1403,6 +1403,7 @@ Tom Rix <trix@redhat.com>\n Tone Zhang <tone.zhang@arm.com>\n Tonghao Zhang <xiangxia.m.yue@gmail.com> <nic@opencloud.tech>\n Tony Nguyen <anthony.l.nguyen@intel.com>\n+Trevor Tao <trevor.tao@arm.com>\n Tsotne Chakhvadze <tsotne.chakhvadze@intel.com>\n Tudor Brindus <me@tbrindus.ca>\n Tudor Cornea <tudor.cornea@gmail.com> <tudor.cornea@keysight.com>\ndiff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c\nindex a4f061537e..cec87d95d1 100644\n--- a/examples/l3fwd/main.c\n+++ b/examples/l3fwd/main.c\n@@ -1233,8 +1233,12 @@ l3fwd_poll_resource_setup(void)\n \t\tlocal_port_conf.rx_adv_conf.rss_conf.rss_hf &=\n \t\t\tdev_info.flow_type_rss_offloads;\n \n-\t\tif (dev_info.max_rx_queues == 1)\n+\t\t/* relax the rx rss requirement */\n+\t\tif (dev_info.max_rx_queues == 1 || !local_port_conf.rx_adv_conf.rss_conf.rss_hf) {\n+\t\t\tprintf(\"warning: modified the rx mq_mode to RTE_ETH_MQ_RX_NONE base on\"\n+\t\t\t\t\" device capability\\n\");\n \t\t\tlocal_port_conf.rxmode.mq_mode = RTE_ETH_MQ_RX_NONE;\n+\t\t}\n \n \t\tif (local_port_conf.rx_adv_conf.rss_conf.rss_hf !=\n \t\t\t\tport_conf.rx_adv_conf.rss_conf.rss_hf) {\n@@ -1245,6 +1249,19 @@ l3fwd_poll_resource_setup(void)\n \t\t\t\tlocal_port_conf.rx_adv_conf.rss_conf.rss_hf);\n \t\t}\n \n+\t\t/* relax the rx offload requirement */\n+\t\tif ((local_port_conf.rxmode.offloads & dev_info.rx_offload_capa) !=\n+\t\t\tlocal_port_conf.rxmode.offloads) {\n+\t\t\tprintf(\"Port %u requested Rx offloads 0x%\"PRIx64\" does not\"\n+\t\t\t\t\" match Rx offloads capabilities 0x%\"PRIx64\"\\n\",\n+\t\t\t\tportid, local_port_conf.rxmode.offloads,\n+\t\t\t\tdev_info.rx_offload_capa);\n+\t\t\tlocal_port_conf.rxmode.offloads &= dev_info.rx_offload_capa;\n+\t\t\tport_conf.rxmode.offloads = local_port_conf.rxmode.offloads;\n+\t\t\tprintf(\"warning: modified the rx offload to 0x%\"PRIx64\" based on device\"\n+\t\t\t\t\" capability\\n\", local_port_conf.rxmode.offloads);\n+\t\t}\n+\n \t\tret = rte_eth_dev_configure(portid, nb_rx_queue,\n \t\t\t\t\t(uint16_t)n_tx_queue, &local_port_conf);\n \t\tif (ret < 0)\n",
    "prefixes": [
        "v1"
    ]
}