get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2185451,
    "url": "http://patchwork.ozlabs.org/api/patches/2185451/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260117002452.1026310-5-jonas@kwiboo.se/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260117002452.1026310-5-jonas@kwiboo.se>",
    "list_archive_url": null,
    "date": "2026-01-17T00:24:40",
    "name": "[4/6] net: lwip: Use ipaddr helpers",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "53c67781fdabad8961d20b7ae549e9103659539a",
    "submitter": {
        "id": 71439,
        "url": "http://patchwork.ozlabs.org/api/people/71439/?format=api",
        "name": "Jonas Karlman",
        "email": "jonas@kwiboo.se"
    },
    "delegate": {
        "id": 157425,
        "url": "http://patchwork.ozlabs.org/api/users/157425/?format=api",
        "username": "jforissier",
        "first_name": "Jerome",
        "last_name": "Forissier",
        "email": "jerome.forissier@linaro.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260117002452.1026310-5-jonas@kwiboo.se/mbox/",
    "series": [
        {
            "id": 488696,
            "url": "http://patchwork.ozlabs.org/api/series/488696/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=488696",
            "date": "2026-01-17T00:24:36",
            "name": "net: lwip: Command fixes and improvements",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/488696/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2185451/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2185451/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=kwiboo.se header.i=@kwiboo.se header.a=rsa-sha256\n header.s=fe-e1b5cab7be header.b=ofrpvk2G;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=kwiboo.se",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de",
            "phobos.denx.de;\n\tdkim=pass (2048-bit key;\n secure) header.d=kwiboo.se header.i=@kwiboo.se header.b=\"ofrpvk2G\";\n\tdkim-atps=neutral",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=kwiboo.se",
            "phobos.denx.de; spf=pass\n smtp.mailfrom=SRS0=f646=7W=kwiboo.se=jonas@fe-bounces.kwiboo.se"
        ],
        "Received": [
            "from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4dtHZ600zbz1xsN\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 17 Jan 2026 11:25:49 +1100 (AEDT)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 22BD383981;\n\tSat, 17 Jan 2026 01:25:22 +0100 (CET)",
            "by phobos.denx.de (Postfix, from userid 109)\n id C3CC183015; Sat, 17 Jan 2026 01:25:20 +0100 (CET)",
            "from smtp.forwardemail.net (smtp.forwardemail.net [121.127.44.73])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 6AE9083980\n for <u-boot@lists.denx.de>; Sat, 17 Jan 2026 01:25:18 +0100 (CET)"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,\n SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;\n h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To:\n Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be;\n t=1768609517; bh=7cs07EjYAQhVl6mEup4AZJ20Irxr1yO/+Yh4AUwOU04=;\n b=ofrpvk2GFRlyjwjUeNx+ZW9MvgrZAS/dVYsh1L3A5OgMQV68v8HB8yTyXDSbPxidMtzT+SRvS\n x1wOkurFrV6ST9wVc3lvhsA4DL/AozmNl4FupXmce10qQaGNwoz4D0FJlUGKHaQy0EFGkcmZWsT\n WPijXjRb22dJF1LbXBY07oaJbcYJ+u5pcSVDSxMvzOnYGvRyIsHNLqNYgJs1Zid04cDdwmG5VC1\n Rpheo9wrQpfewkTvDuCltX7CvtJdaucV4aCsF4vq32dZisaBM8DKlcM1GEqRtQMcSGN5uvGQwaH\n WFDD76cSt6r9DQn2Q05cwQcQaLvDNJ2dezUR8ackyDBw==",
        "X-Forward-Email-ID": "696ad6ea75104fdab5e8c399",
        "X-Forward-Email-Sender": "rfc822; jonas@kwiboo.se, smtp.forwardemail.net,\n 121.127.44.73",
        "X-Forward-Email-Version": "2.2.8",
        "X-Forward-Email-Website": "https://forwardemail.net",
        "X-Complaints-To": "abuse@forwardemail.net",
        "X-Report-Abuse": "abuse@forwardemail.net",
        "X-Report-Abuse-To": "abuse@forwardemail.net",
        "From": "Jonas Karlman <jonas@kwiboo.se>",
        "To": "Jerome Forissier <jerome@forissier.org>,\n Joe Hershberger <joe.hershberger@ni.com>,\n Ramon Fried <rfried.dev@gmail.com>, Tom Rini <trini@konsulko.com>",
        "Cc": "u-boot@lists.denx.de,\n\tJonas Karlman <jonas@kwiboo.se>",
        "Subject": "[PATCH 4/6] net: lwip: Use ipaddr helpers",
        "Date": "Sat, 17 Jan 2026 00:24:40 +0000",
        "Message-ID": "<20260117002452.1026310-5-jonas@kwiboo.se>",
        "X-Mailer": "git-send-email 2.52.0",
        "In-Reply-To": "<20260117002452.1026310-1-jonas@kwiboo.se>",
        "References": "<20260117002452.1026310-1-jonas@kwiboo.se>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.39",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>",
        "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de",
        "X-Virus-Status": "Clean"
    },
    "content": "The ip_addr_t of lwIP has support for both IPv6 and IPv4 addresses.\nSome lwIP commans is directly accessing the internal addr field of the\nip_addr_t instead of using ipaddr helper functions.\n\nChange to use ipaddr helper functions where appropriate to remove direct\naccess of the internal addr field. Also change a few instances from ip4\nto the version less ipaddr helpers.\n\nThere is no intended functional change, besides the change from using\nip4 addr helper to using version less ipaddr helper.\n\nSigned-off-by: Jonas Karlman <jonas@kwiboo.se>\n---\n cmd/lwip/ping.c | 2 +-\n net/lwip/dhcp.c | 4 ++--\n net/lwip/dns.c  | 9 +++------\n net/lwip/nfs.c  | 6 +++---\n net/lwip/tftp.c | 2 +-\n 5 files changed, 10 insertions(+), 13 deletions(-)",
    "diff": "diff --git a/cmd/lwip/ping.c b/cmd/lwip/ping.c\nindex 6d090fc530d6..fc4cf7bde5f9 100644\n--- a/cmd/lwip/ping.c\n+++ b/cmd/lwip/ping.c\n@@ -35,7 +35,7 @@ static u8_t ping_recv(void *arg, struct raw_pcb *pcb, struct pbuf *p,\n \tstruct ping_ctx *ctx = arg;\n \tstruct icmp_echo_hdr *iecho = ctx->iecho;\n \n-\tif (addr->addr != ctx->target.addr)\n+\tif (!ip_addr_eq(addr, &ctx->target))\n \t\treturn 0;\n \n \tif ((p->tot_len >= (IP_HLEN + sizeof(struct icmp_echo_hdr))) &&\ndiff --git a/net/lwip/dhcp.c b/net/lwip/dhcp.c\nindex 731b57de3ba4..4cd4184c42bb 100644\n--- a/net/lwip/dhcp.c\n+++ b/net/lwip/dhcp.c\n@@ -93,13 +93,13 @@ static int dhcp_loop(struct udevice *udev)\n \t\tsprintf(maskstr, \"netmask%d\", idx);\n \t\tsprintf(gwstr, \"gatewayip%d\", idx);\n \t} else {\n-\t\tnet_ip.s_addr = dhcp->offered_ip_addr.addr;\n+\t\tnet_ip.s_addr = ip_addr_get_ip4_u32(&dhcp->offered_ip_addr);\n \t}\n \n \tenv_set(ipstr, ip4addr_ntoa(&dhcp->offered_ip_addr));\n \tenv_set(maskstr, ip4addr_ntoa(&dhcp->offered_sn_mask));\n \tenv_set(\"serverip\", ip4addr_ntoa(&dhcp->server_ip_addr));\n-\tif (dhcp->offered_gw_addr.addr != 0)\n+\tif (!ip4_addr_isany(&dhcp->offered_gw_addr))\n \t\tenv_set(gwstr, ip4addr_ntoa(&dhcp->offered_gw_addr));\n \n #ifdef CONFIG_PROT_DNS_LWIP\ndiff --git a/net/lwip/dns.c b/net/lwip/dns.c\nindex 2222e2b0b045..8b7b3b7f970f 100644\n--- a/net/lwip/dns.c\n+++ b/net/lwip/dns.c\n@@ -28,13 +28,10 @@ static void dns_cb(const char *name, const ip_addr_t *ipaddr, void *arg)\n \n \tdns_cb_arg->done = true;\n \n-\tif (!ipaddr) {\n+\tif (!ipaddr)\n \t\tprintf(\"DNS: host not found\\n\");\n-\t\tdns_cb_arg->host_ipaddr.addr = 0;\n-\t\treturn;\n-\t}\n \n-\tdns_cb_arg->host_ipaddr.addr = ipaddr->addr;\n+\tip_addr_set(&dns_cb_arg->host_ipaddr, ipaddr);\n }\n \n static int dns_loop(struct udevice *udev, const char *name, const char *var)\n@@ -78,7 +75,7 @@ static int dns_loop(struct udevice *udev, const char *name, const char *var)\n \n \tnet_lwip_remove_netif(netif);\n \n-\tif (dns_cb_arg.done && dns_cb_arg.host_ipaddr.addr != 0) {\n+\tif (dns_cb_arg.done && !ip_addr_isany(&dns_cb_arg.host_ipaddr)) {\n \t\tipstr = ipaddr_ntoa(&dns_cb_arg.host_ipaddr);\n \t\tif (var)\n \t\t\tenv_set(var, ipstr);\ndiff --git a/net/lwip/nfs.c b/net/lwip/nfs.c\nindex 5fc2d3bd8736..1812bbda68e5 100644\n--- a/net/lwip/nfs.c\n+++ b/net/lwip/nfs.c\n@@ -59,7 +59,7 @@ static void nfs_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p,\n \tint plen;\n \tstruct rpc_t rpc_pkt;\n \n-\tif (addr->addr != ctx->nfs_server.addr)\n+\tif (!ip_addr_eq(addr, &ctx->nfs_server))\n \t\tgoto exitfree;\n \n \tif (p->tot_len > sizeof(struct rpc_t))\n@@ -120,7 +120,7 @@ static int nfs_loop(struct udevice *udev, ulong addr, char *fname,\n \tprintf(\"Using %s device\\n\", udev->name);\n \n \tprintf(\"File transfer via NFS from server %s; our IP address is %s\\n\",\n-\t       ip4addr_ntoa(&srvip), env_get(\"ipaddr\"));\n+\t       ipaddr_ntoa(&srvip), env_get(\"ipaddr\"));\n \n \tprintf(\"\\nFilename '%s/%s'.\", nfs_path, nfs_filename);\n \n@@ -144,7 +144,7 @@ static int nfs_loop(struct udevice *udev, ulong addr, char *fname,\n \n \tnet_set_state(NETLOOP_CONTINUE);\n \n-\tsess_ctx.nfs_server.addr = srvip.addr;\n+\tip_addr_set(&sess_ctx.nfs_server, &srvip);\n \n \tnfs_send();\n \ndiff --git a/net/lwip/tftp.c b/net/lwip/tftp.c\nindex 6c7ffba661e5..86516e662732 100644\n--- a/net/lwip/tftp.c\n+++ b/net/lwip/tftp.c\n@@ -180,7 +180,7 @@ static int tftp_loop(struct udevice *udev, ulong addr, char *fname,\n \n \tprintf(\"Using %s device\\n\", udev->name);\n \tprintf(\"TFTP from server %s; our IP address is %s\\n\",\n-\t       ip4addr_ntoa(&srvip), env_get(\"ipaddr\"));\n+\t       ipaddr_ntoa(&srvip), env_get(\"ipaddr\"));\n \tprintf(\"Filename '%s'.\\n\", fname);\n \tprintf(\"Load address: 0x%lx\\n\", ctx.daddr);\n \tprintf(\"Loading: \");\n",
    "prefixes": [
        "4/6"
    ]
}