get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2197161,
    "url": "http://patchwork.ozlabs.org/api/patches/2197161/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260217-bpf-xdp-meta-rxcksum-v3-5-30024c50ba71@kernel.org/",
    "project": {
        "id": 46,
        "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api",
        "name": "Intel Wired Ethernet development",
        "link_name": "intel-wired-lan",
        "list_id": "intel-wired-lan.osuosl.org",
        "list_email": "intel-wired-lan@osuosl.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260217-bpf-xdp-meta-rxcksum-v3-5-30024c50ba71@kernel.org>",
    "list_archive_url": null,
    "date": "2026-02-17T08:34:00",
    "name": "[bpf-next,v3,5/5] selftests/bpf: Add bpf_xdp_metadata_rx_checksum support to xdp_hw_metadat prog",
    "commit_ref": null,
    "pull_url": null,
    "state": "handled-elsewhere",
    "archived": false,
    "hash": "a16fbc605fe4e38875affbc721870d39c03ac266",
    "submitter": {
        "id": 76007,
        "url": "http://patchwork.ozlabs.org/api/people/76007/?format=api",
        "name": "Lorenzo Bianconi",
        "email": "lorenzo@kernel.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260217-bpf-xdp-meta-rxcksum-v3-5-30024c50ba71@kernel.org/mbox/",
    "series": [
        {
            "id": 492397,
            "url": "http://patchwork.ozlabs.org/api/series/492397/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=492397",
            "date": "2026-02-17T08:33:55",
            "name": "Add the the capability to load HW RX checsum in eBPF programs",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/492397/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2197161/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2197161/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@osuosl.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@legolas.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=sgHr0KsJ;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.137; helo=smtp4.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fFXy65t0Lz1xwD\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 19:34:54 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id D1D0C40CDA;\n\tTue, 17 Feb 2026 08:34:52 +0000 (UTC)",
            "from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id ud5Tx5LH2TU3; Tue, 17 Feb 2026 08:34:50 +0000 (UTC)",
            "from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 8FE8140CD7;\n\tTue, 17 Feb 2026 08:34:50 +0000 (UTC)",
            "from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133])\n by lists1.osuosl.org (Postfix) with ESMTP id B6B1F1EB\n for <intel-wired-lan@lists.osuosl.org>; Tue, 17 Feb 2026 08:34:49 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by smtp2.osuosl.org (Postfix) with ESMTP id B11A1401CA\n for <intel-wired-lan@lists.osuosl.org>; Tue, 17 Feb 2026 08:34:49 +0000 (UTC)",
            "from smtp2.osuosl.org ([127.0.0.1])\n by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id hf_1RX2Wkp7J for <intel-wired-lan@lists.osuosl.org>;\n Tue, 17 Feb 2026 08:34:48 +0000 (UTC)",
            "from tor.source.kernel.org (tor.source.kernel.org\n [IPv6:2600:3c04:e001:324:0:1991:8:25])\n by smtp2.osuosl.org (Postfix) with ESMTPS id A33D2400C0\n for <intel-wired-lan@lists.osuosl.org>; Tue, 17 Feb 2026 08:34:48 +0000 (UTC)",
            "from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n by tor.source.kernel.org (Postfix) with ESMTP id 7D20D61339;\n Tue, 17 Feb 2026 08:34:47 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPSA id B17A9C4CEF7;\n Tue, 17 Feb 2026 08:34:46 +0000 (UTC)"
        ],
        "X-Virus-Scanned": [
            "amavis at osuosl.org",
            "amavis at osuosl.org"
        ],
        "X-Comment": "SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ",
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 smtp4.osuosl.org 8FE8140CD7",
            "OpenDKIM Filter v2.11.0 smtp2.osuosl.org A33D2400C0"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1771317290;\n\tbh=Yt6EV0+y/jmvszkv4uFcyLbzewEUCwx1Zv9/Y3Eviog=;\n\th=From:Date:References:In-Reply-To:To:Cc:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=sgHr0KsJ4Bj95+tpMYaUdh3BoFF/C2j6Qyl2ASnX6qLByadNds9oIF73+0RJ41rEk\n\t vGYE5tRrRZf2/ecciTa3Yj9BXmtT0Mt+Re4h3hHwFvj9HwzL3DY3Is/GfGpE/lrP7Z\n\t EOD0A532Cq2m+e4V6fDhWcdsJkoxBgq9iA2ReNPa3o2TksMSbK0PDug5iVtlab3jD7\n\t PvMzN7Uh1epo6HmcSjAWQx+TPaA6nHtBizEbUGAsZLgWxti34QiXTFQtGJDZh+PAhE\n\t WoFQXkQbOXqLjeqAKf+9LRu5958XOWZUK8RGWNcxcCNcZP38RYg/aZvhkN2rjdWFYU\n\t tdTSX3XFvFgzQ==",
        "Received-SPF": "Pass (mailfrom) identity=mailfrom;\n client-ip=2600:3c04:e001:324:0:1991:8:25; helo=tor.source.kernel.org;\n envelope-from=lorenzo@kernel.org; receiver=<UNKNOWN>",
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp2.osuosl.org A33D2400C0",
        "From": "Lorenzo Bianconi <lorenzo@kernel.org>",
        "Date": "Tue, 17 Feb 2026 09:34:00 +0100",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "7bit",
        "Message-Id": "<20260217-bpf-xdp-meta-rxcksum-v3-5-30024c50ba71@kernel.org>",
        "References": "<20260217-bpf-xdp-meta-rxcksum-v3-0-30024c50ba71@kernel.org>",
        "In-Reply-To": "<20260217-bpf-xdp-meta-rxcksum-v3-0-30024c50ba71@kernel.org>",
        "To": "Donald Hunter <donald.hunter@gmail.com>,\n Jakub Kicinski <kuba@kernel.org>, \"David S. Miller\" <davem@davemloft.net>,\n Eric Dumazet <edumazet@google.com>, Paolo Abeni <pabeni@redhat.com>,\n Simon Horman <horms@kernel.org>, Alexei Starovoitov <ast@kernel.org>,\n Daniel Borkmann <daniel@iogearbox.net>,\n Jesper Dangaard Brouer <hawk@kernel.org>,\n John Fastabend <john.fastabend@gmail.com>,\n Stanislav Fomichev <sdf@fomichev.me>, Andrew Lunn <andrew+netdev@lunn.ch>,\n Tony Nguyen <anthony.l.nguyen@intel.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n Alexander Lobakin <aleksander.lobakin@intel.com>,\n Andrii Nakryiko <andrii@kernel.org>,\n Martin KaFai Lau <martin.lau@linux.dev>,\n Eduard Zingerman <eddyz87@gmail.com>, Song Liu <song@kernel.org>,\n Yonghong Song <yonghong.song@linux.dev>, KP Singh <kpsingh@kernel.org>,\n Hao Luo <haoluo@google.com>, Jiri Olsa <jolsa@kernel.org>,\n Shuah Khan <shuah@kernel.org>,\n Maciej Fijalkowski <maciej.fijalkowski@intel.com>",
        "Cc": "Jakub Sitnicki <jakub@cloudflare.com>, netdev@vger.kernel.org,\n bpf@vger.kernel.org, intel-wired-lan@lists.osuosl.org,\n linux-kselftest@vger.kernel.org, Lorenzo Bianconi <lorenzo@kernel.org>",
        "X-Mailer": "b4 0.14.2",
        "X-Mailman-Original-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=kernel.org; s=k20201202; t=1771317287;\n bh=acetSvAvAvzBxJaNnQ3tpe8HbAc79uV5aOOQPwduvU8=;\n h=From:Date:Subject:References:In-Reply-To:To:Cc:From;\n b=pIoi3Nkwx7IMtgmDUpj+R3v4ZLPeLjk5kGi3WWzBCoIN1fYclHydLo6GKUXj/Z0lY\n MB7o449l57dXr2At8L0E22Zsczekk2P7P3NuUmx/8FBCeiSPvu1sCGbkbtCGendSi0\n 2bqo2ER1/X46XMKBcUoHyqJdfmvMpKoUWneAlj0RHDOOpZWfu+Zx2WklHasovIlLvd\n uKiD0oechyiIEeEi9xc1N+EU+ppvCSRNy1yzqM1VakG9fxz3zIf9bCNv75Z+p6RVLh\n dSm4cN50FuaGQsdLyG5555S2XX6L/EncVywbiHu8SU5ECdlQrOrzdv8jL8d28Ou3ls\n 7h104UUiuMObA==",
        "X-Mailman-Original-Authentication-Results": [
            "smtp2.osuosl.org;\n dmarc=pass (p=quarantine dis=none)\n header.from=kernel.org",
            "smtp2.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=pIoi3Nkw"
        ],
        "Subject": "[Intel-wired-lan] [PATCH bpf-next v3 5/5] selftests/bpf: Add\n bpf_xdp_metadata_rx_checksum support to xdp_hw_metadat prog",
        "X-BeenThere": "intel-wired-lan@osuosl.org",
        "X-Mailman-Version": "2.1.30",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>",
        "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>",
        "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>",
        "Errors-To": "intel-wired-lan-bounces@osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"
    },
    "content": "Introduce the capability to dump HW rx checksum in xdp_hw_metadata\nprogram via bpf_xdp_metadata_rx_checksum() kfunc.\n\nSigned-off-by: Lorenzo Bianconi <lorenzo@kernel.org>\n---\n .../testing/selftests/bpf/progs/xdp_hw_metadata.c  |  8 +++++++\n tools/testing/selftests/bpf/xdp_hw_metadata.c      | 25 ++++++++++++++++++++++\n tools/testing/selftests/bpf/xdp_metadata.h         | 10 ++++++---\n 3 files changed, 40 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c b/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c\nindex 330ece2eabdb454da2bb2cbd297d2b2dd6efddc0..9113288fce54bb39dbb6b38e1f6badd0a8ef4cde 100644\n--- a/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c\n+++ b/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c\n@@ -110,6 +110,14 @@ int rx(struct xdp_md *ctx)\n \telse\n \t\tmeta->hint_valid |= XDP_META_FIELD_VLAN_TAG;\n \n+\terr = bpf_xdp_metadata_rx_checksum(ctx,\n+\t\t\t(enum xdp_checksum *)&meta->ip_summed,\n+\t\t\t&meta->cksum_meta);\n+\tif (err)\n+\t\tmeta->rx_cksum_err = err;\n+\telse\n+\t\tmeta->hint_valid |= XDP_META_FIELD_CHECKSUM;\n+\n \t__sync_add_and_fetch(&pkts_redir, 1);\n \treturn bpf_redirect_map(&xsk, ctx->rx_queue_index, XDP_PASS);\n }\ndiff --git a/tools/testing/selftests/bpf/xdp_hw_metadata.c b/tools/testing/selftests/bpf/xdp_hw_metadata.c\nindex 3d8de0d4c96a7afdf5f60b2fdff73c22b876ce54..f1cf8490cc497b5dd75b8d839918fb85c2a0684d 100644\n--- a/tools/testing/selftests/bpf/xdp_hw_metadata.c\n+++ b/tools/testing/selftests/bpf/xdp_hw_metadata.c\n@@ -8,6 +8,7 @@\n  * - Metadata verified:\n  *   - rx_timestamp\n  *   - rx_hash\n+ *   - rx_checksum\n  *\n  * TX:\n  * - UDP 9091 packets trigger TX reply\n@@ -219,6 +220,25 @@ static void print_vlan_tci(__u16 tag)\n \tprintf(\"PCP=%u, DEI=%d, VID=0x%X\\n\", pcp, dei, vlan_id);\n }\n \n+static void print_rx_cksum(__u8 ip_summed, __u32 cksum_meta)\n+{\n+\tconst char *cksum = \"CHECKSUM_NONE\";\n+\n+\tswitch (ip_summed) {\n+\tcase XDP_CHECKSUM_UNNECESSARY:\n+\t\tcksum = \"CHECKSUM_UNNECESSARY\";\n+\t\tbreak;\n+\tcase XDP_CHECKSUM_COMPLETE:\n+\t\tcksum = \"CHECKSUM_COMPLETE\";\n+\t\tbreak;\n+\tcase XDP_CHECKSUM_NONE:\n+\tdefault:\n+\t\tbreak;\n+\t}\n+\n+\tprintf(\"rx-cksum: %s, csum_meta=0x%x\\n\", cksum, cksum_meta);\n+}\n+\n static void verify_xdp_metadata(void *data, clockid_t clock_id)\n {\n \tstruct xdp_meta *meta;\n@@ -254,6 +274,11 @@ static void verify_xdp_metadata(void *data, clockid_t clock_id)\n \t\tprintf(\"No rx_vlan_tci or rx_vlan_proto, err=%d\\n\",\n \t\t       meta->rx_vlan_tag_err);\n \t}\n+\n+\tif (meta->hint_valid & XDP_META_FIELD_CHECKSUM)\n+\t\tprint_rx_cksum(meta->ip_summed, meta->cksum_meta);\n+\telse\n+\t\tprintf(\"No rx_cksum, err=%d\\n\", meta->rx_cksum_err);\n }\n \n static void verify_skb_metadata(int fd)\ndiff --git a/tools/testing/selftests/bpf/xdp_metadata.h b/tools/testing/selftests/bpf/xdp_metadata.h\nindex 837cd1efe6b5aebd0f62bae4c49d5bfd77db64bc..822e34390582b3d3660a25e725c9a622edbf635c 100644\n--- a/tools/testing/selftests/bpf/xdp_metadata.h\n+++ b/tools/testing/selftests/bpf/xdp_metadata.h\n@@ -28,6 +28,7 @@ enum xdp_meta_field {\n \tXDP_META_FIELD_TS\t= BIT(0),\n \tXDP_META_FIELD_RSS\t= BIT(1),\n \tXDP_META_FIELD_VLAN_TAG\t= BIT(2),\n+\tXDP_META_FIELD_CHECKSUM = BIT(3),\n };\n \n #define XDP_CHECKSUM_NONE\t\t0\n@@ -52,9 +53,12 @@ struct xdp_meta {\n \t\t};\n \t\t__s32 rx_vlan_tag_err;\n \t};\n-\tstruct {\n-\t\t__u8 ip_summed;\n-\t\t__u32 cksum_meta;\n+\tunion {\n+\t\tstruct {\n+\t\t\t__u8 ip_summed;\n+\t\t\t__u32 cksum_meta;\n+\t\t};\n+\t\t__s32 rx_cksum_err;\n \t};\n \tenum xdp_meta_field hint_valid;\n };\n",
    "prefixes": [
        "bpf-next",
        "v3",
        "5/5"
    ]
}