get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2218431,
    "url": "http://patchwork.ozlabs.org/api/patches/2218431/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20260401074509.1897527-6-dwmw2@infradead.org/",
    "project": {
        "id": 26,
        "url": "http://patchwork.ozlabs.org/api/projects/26/?format=api",
        "name": "Netfilter Development",
        "link_name": "netfilter-devel",
        "list_id": "netfilter-devel.vger.kernel.org",
        "list_email": "netfilter-devel@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260401074509.1897527-6-dwmw2@infradead.org>",
    "list_archive_url": null,
    "date": "2026-04-01T07:44:19",
    "name": "[5/6] net: Change CONFIG_INET to CONFIG_LEGACY_IP for IPv4-only code",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "9a803eebef69f697676a482d505bda69a8166583",
    "submitter": {
        "id": 26,
        "url": "http://patchwork.ozlabs.org/api/people/26/?format=api",
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20260401074509.1897527-6-dwmw2@infradead.org/mbox/",
    "series": [
        {
            "id": 498288,
            "url": "http://patchwork.ozlabs.org/api/series/498288/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/list/?series=498288",
            "date": "2026-04-01T07:44:20",
            "name": "Deprecate Legacy IP",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/498288/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2218431/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2218431/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <netfilter-devel+bounces-11537-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "netfilter-devel@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256\n header.s=casper.20170209 header.b=IKoGyQZr;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=netfilter-devel+bounces-11537-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org\n header.b=\"IKoGyQZr\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=90.155.50.34",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=infradead.org",
            "smtp.subspace.kernel.org;\n spf=none smtp.mailfrom=casper.srs.infradead.org"
        ],
        "Received": [
            "from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::12fc:5321])\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 4flyH54K1Qz1yGH\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 01 Apr 2026 19:06:09 +1100 (AEDT)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 758193079EFD\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  1 Apr 2026 07:47:35 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 2EC1C3A1A59;\n\tWed,  1 Apr 2026 07:45:52 +0000 (UTC)",
            "from casper.infradead.org (casper.infradead.org [90.155.50.34])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id CA86338A2BE;\n\tWed,  1 Apr 2026 07:45:44 +0000 (UTC)",
            "from [2001:8b0:10b:1::425] (helo=i7.infradead.org)\n\tby casper.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w7qGM-0000000A0NP-419U;\n\tWed, 01 Apr 2026 07:45:19 +0000",
            "from dwoodhou by i7.infradead.org with local (Exim 4.98.2 #2 (Red\n Hat Linux))\n\tid 1w7qGM-00000007xeL-2p8k;\n\tWed, 01 Apr 2026 08:45:18 +0100"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775029550; cv=none;\n b=Z6bHQ81uw1i/gM5bR2E1SirY/sogUn3g7X/+/vMwd5SqRZBVBM5N/stBVrmE7VFNathS3ev+HPbQmFxnK2os04IJWyBCONljQ/Pc6qBxhPYhC42SSaMcz8SWkyBoCkeH3ySdfQhGoGbfJI6M1Uih5gyzonxNwb1TyLDNXV0Ohik=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775029550; c=relaxed/simple;\n\tbh=rXA64fn6y56PibOyI9IkFgYw3RfBJKBTSkxUiNBk0fg=;\n\th=From:To:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=bFTQ22hYND0eoMexycJGRNYvoIP5I6aHr9r6TUPC1BfMOflw9pE2kMTB3w719zTuUadSPqbijlNHvbyBOw2yfcw0mIwOp5DjoYFGrzDos0tjsQN8K+S8qmBSCCVTLBIYF/g9p6yXAMJ559YrH4zOHpkGS2laf6udKbxzOa67Zyc=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=infradead.org;\n spf=none smtp.mailfrom=casper.srs.infradead.org;\n dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org\n header.b=IKoGyQZr; arc=none smtp.client-ip=90.155.50.34",
        "DKIM-Signature": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:\n\tMIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:Reply-To:\n\tCc:Content-Type:Content-ID:Content-Description;\n\tbh=pISmS11V1tQprFst6l/klCiCb/4SA1I27pPJorGm5gg=; b=IKoGyQZrkoZMy+DdfIsGPzhp0f\n\tKsIQdc38aM7WkyiOFbPySG9hwJzfNFlal9JXYEWJnbzwgdeh/WsfWiBQfnKxXyVWjEKC3JnIn1wCS\n\tXLH6oP6mkrblKJheY/uUD63e5eaEz3K5D/eByo/0O+mHJB+zeTTHvB69OKxY58EqDBJCB7a8N9Nta\n\t6DxzwcmeiCL8m04LDqLpPO3KNROO5rmNBrfJbFnZLPDswK9grm3HKuCAtJ3rSy2DWpH52TSGMz8ss\n\tgUPg2JoI4zG+A3IFRw9/IshiTVLa2XNTriAS+LQGPeDZVsm65nqSkr+qsXqvaeI8j2Vy4tlcJjAbS\n\thyDMrxrA==;",
        "From": "David Woodhouse <dwmw2@infradead.org>",
        "To": "Saeed Mahameed <saeedm@nvidia.com>,\n\tLeon Romanovsky <leon@kernel.org>,\n\tTariq Toukan <tariqt@nvidia.com>,\n\tMark Bloch <mbloch@nvidia.com>,\n\tAndrew Lunn <andrew+netdev@lunn.ch>,\n\t\"David S. Miller\" <davem@davemloft.net>,\n\tEric Dumazet <edumazet@google.com>,\n\tJakub Kicinski <kuba@kernel.org>,\n\tPaolo Abeni <pabeni@redhat.com>,\n\tSimon Horman <horms@kernel.org>,\n\tNikolay Aleksandrov <razor@blackwall.org>,\n\tIdo Schimmel <idosch@nvidia.com>,\n\tMartin KaFai Lau <martin.lau@linux.dev>,\n\tDaniel Borkmann <daniel@iogearbox.net>,\n\tJohn Fastabend <john.fastabend@gmail.com>,\n\tStanislav Fomichev <sdf@fomichev.me>,\n\tAlexei Starovoitov <ast@kernel.org>,\n\tAndrii Nakryiko <andrii@kernel.org>,\n\tEduard Zingerman <eddyz87@gmail.com>,\n\tSong Liu <song@kernel.org>,\n\tYonghong Song <yonghong.song@linux.dev>,\n\tKP Singh <kpsingh@kernel.org>,\n\tHao Luo <haoluo@google.com>,\n\tJiri Olsa <jolsa@kernel.org>,\n\tKuniyuki Iwashima <kuniyu@google.com>,\n\tWillem de Bruijn <willemb@google.com>,\n\tDavid Ahern <dsahern@kernel.org>,\n\tNeal Cardwell <ncardwell@google.com>,\n\tJohannes Berg <johannes@sipsolutions.net>,\n\tPablo Neira Ayuso <pablo@netfilter.org>,\n\tFlorian Westphal <fw@strlen.de>,\n\tPhil Sutter <phil@nwl.cc>,\n\tGuillaume Nault <gnault@redhat.com>,\n\tDavid Woodhouse <dwmw@amazon.co.uk>,\n\tKees Cook <kees@kernel.org>,\n\tAlexei Lazar <alazar@nvidia.com>,\n\tGal Pressman <gal@nvidia.com>,\n\tPaul Moore <paul@paul-moore.com>,\n\tnetdev@vger.kernel.org,\n\tlinux-rdma@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\toss-drivers@corigine.com,\n\tbridge@lists.linux.dev,\n\tbpf@vger.kernel.org,\n\tlinux-wireless@vger.kernel.org,\n\tnetfilter-devel@vger.kernel.org,\n\tcoreteam@netfilter.org,\n\ttorvalds@linux-foundation.org,\n\tjon.maddog.hall@gmail.com",
        "Subject": "[PATCH 5/6] net: Change CONFIG_INET to CONFIG_LEGACY_IP for IPv4-only\n code",
        "Date": "Wed,  1 Apr 2026 08:44:19 +0100",
        "Message-ID": "<20260401074509.1897527-6-dwmw2@infradead.org>",
        "X-Mailer": "git-send-email 2.51.0",
        "In-Reply-To": "<20260401074509.1897527-1-dwmw2@infradead.org>",
        "References": "<20260401074509.1897527-1-dwmw2@infradead.org>",
        "Precedence": "bulk",
        "X-Mailing-List": "netfilter-devel@vger.kernel.org",
        "List-Id": "<netfilter-devel.vger.kernel.org>",
        "List-Subscribe": "<mailto:netfilter-devel+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:netfilter-devel+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Sender": "David Woodhouse <dwmw2@infradead.org>",
        "X-SRS-Rewrite": "SMTP reverse-path rewritten from <dwmw2@infradead.org> by\n casper.infradead.org. See http://www.infradead.org/rpr.html"
    },
    "content": "From: David Woodhouse <dwmw@amazon.co.uk>\n\nSeveral functions guarded by CONFIG_INET are actually IPv4-specific\nand should be gated by CONFIG_LEGACY_IP instead:\n\n - bpf_out_neigh_v4(): BPF IPv4 neighbour output helper\n - bpf_ipv4_fib_lookup(): BPF IPv4 FIB lookup\n - case AF_INET in bpf_xdp_fib_lookup/bpf_skb_fib_lookup switch\n - br_arp_send(): bridge ARP proxy (ARP is IPv4-only)\n\nThis allows the compiler to eliminate these functions when\nLEGACY_IP=n.\n\nSigned-off-by: David Woodhouse <dwmw@amazon.co.uk>\n---\n net/bridge/br_arp_nd_proxy.c    |  2 +-\n net/bridge/br_private.h         |  8 ++++++++\n net/core/filter.c               | 10 +++++-----\n net/core/sock.c                 |  2 +-\n net/mac80211/main.c             | 10 +++++-----\n net/netfilter/nfnetlink_queue.c |  2 +-\n 6 files changed, 21 insertions(+), 13 deletions(-)",
    "diff": "diff --git a/net/bridge/br_arp_nd_proxy.c b/net/bridge/br_arp_nd_proxy.c\nindex 1e2b51769eec..e056fa0cd1fe 100644\n--- a/net/bridge/br_arp_nd_proxy.c\n+++ b/net/bridge/br_arp_nd_proxy.c\n@@ -39,7 +39,7 @@ void br_recalculate_neigh_suppress_enabled(struct net_bridge *br)\n \tbr_opt_toggle(br, BROPT_NEIGH_SUPPRESS_ENABLED, neigh_suppress);\n }\n \n-#if IS_ENABLED(CONFIG_INET)\n+#if IS_ENABLED(CONFIG_LEGACY_IP)\n static void br_arp_send(struct net_bridge *br, struct net_bridge_port *p,\n \t\t\tstruct net_device *dev, __be32 dest_ip, __be32 src_ip,\n \t\t\tconst unsigned char *dest_hw,\ndiff --git a/net/bridge/br_private.h b/net/bridge/br_private.h\nindex 9b55d38ea9ed..28131fa0a7c5 100644\n--- a/net/bridge/br_private.h\n+++ b/net/bridge/br_private.h\n@@ -2347,8 +2347,16 @@ static inline void br_switchdev_init(struct net_bridge *br)\n \n /* br_arp_nd_proxy.c */\n void br_recalculate_neigh_suppress_enabled(struct net_bridge *br);\n+#if IS_ENABLED(CONFIG_LEGACY_IP)\n void br_do_proxy_suppress_arp(struct sk_buff *skb, struct net_bridge *br,\n \t\t\t      u16 vid, struct net_bridge_port *p);\n+#else\n+static inline void br_do_proxy_suppress_arp(struct sk_buff *skb,\n+\t\t\t\t\t    struct net_bridge *br,\n+\t\t\t\t\t    u16 vid, struct net_bridge_port *p)\n+{\n+}\n+#endif\n void br_do_suppress_nd(struct sk_buff *skb, struct net_bridge *br,\n \t\t       u16 vid, struct net_bridge_port *p, struct nd_msg *msg);\n struct nd_msg *br_is_nd_neigh_msg(const struct sk_buff *skb, struct nd_msg *m);\ndiff --git a/net/core/filter.c b/net/core/filter.c\nindex ad71ceefcb5e..ef99bd9fddd6 100644\n--- a/net/core/filter.c\n+++ b/net/core/filter.c\n@@ -2310,7 +2310,7 @@ static int __bpf_redirect_neigh_v6(struct sk_buff *skb, struct net_device *dev,\n }\n #endif /* CONFIG_IPV6 */\n \n-#if IS_ENABLED(CONFIG_INET)\n+#if IS_ENABLED(CONFIG_LEGACY_IP)\n static int bpf_out_neigh_v4(struct net *net, struct sk_buff *skb,\n \t\t\t    struct net_device *dev, struct bpf_nh_params *nh)\n {\n@@ -2419,7 +2419,7 @@ static int __bpf_redirect_neigh_v4(struct sk_buff *skb, struct net_device *dev,\n \tkfree_skb(skb);\n \treturn NET_XMIT_DROP;\n }\n-#endif /* CONFIG_INET */\n+#endif /* CONFIG_LEGACY_IP */\n \n static int __bpf_redirect_neigh(struct sk_buff *skb, struct net_device *dev,\n \t\t\t\tstruct bpf_nh_params *nh)\n@@ -6095,7 +6095,7 @@ static int bpf_fib_set_fwd_params(struct bpf_fib_lookup *params, u32 mtu)\n }\n #endif\n \n-#if IS_ENABLED(CONFIG_INET)\n+#if IS_ENABLED(CONFIG_LEGACY_IP)\n static int bpf_ipv4_fib_lookup(struct net *net, struct bpf_fib_lookup *params,\n \t\t\t       u32 flags, bool check_mtu)\n {\n@@ -6390,7 +6390,7 @@ BPF_CALL_4(bpf_xdp_fib_lookup, struct xdp_buff *, ctx,\n \t\treturn -EINVAL;\n \n \tswitch (params->family) {\n-#if IS_ENABLED(CONFIG_INET)\n+#if IS_ENABLED(CONFIG_LEGACY_IP)\n \tcase AF_INET:\n \t\treturn bpf_ipv4_fib_lookup(dev_net(ctx->rxq->dev), params,\n \t\t\t\t\t   flags, true);\n@@ -6431,7 +6431,7 @@ BPF_CALL_4(bpf_skb_fib_lookup, struct sk_buff *, skb,\n \t\tcheck_mtu = true;\n \n \tswitch (params->family) {\n-#if IS_ENABLED(CONFIG_INET)\n+#if IS_ENABLED(CONFIG_LEGACY_IP)\n \tcase AF_INET:\n \t\trc = bpf_ipv4_fib_lookup(net, params, flags, check_mtu);\n \t\tbreak;\ndiff --git a/net/core/sock.c b/net/core/sock.c\nindex 5976100a9d55..6b2914702a38 100644\n--- a/net/core/sock.c\n+++ b/net/core/sock.c\n@@ -4267,7 +4267,7 @@ int sock_load_diag_module(int family, int protocol)\n \t\t\t\t      NETLINK_SOCK_DIAG, family);\n \t}\n \n-#ifdef CONFIG_INET\n+#ifdef CONFIG_LEGACY_IP\n \tif (family == AF_INET &&\n \t    protocol != IPPROTO_RAW &&\n \t    protocol < MAX_INET_PROTOS &&\ndiff --git a/net/mac80211/main.c b/net/mac80211/main.c\nindex 616f86b1a7e4..7c1bbbb2c5c7 100644\n--- a/net/mac80211/main.c\n+++ b/net/mac80211/main.c\n@@ -558,7 +558,7 @@ void ieee80211_restart_hw(struct ieee80211_hw *hw)\n }\n EXPORT_SYMBOL(ieee80211_restart_hw);\n \n-#ifdef CONFIG_INET\n+#ifdef CONFIG_LEGACY_IP\n static int ieee80211_ifa_changed(struct notifier_block *nb,\n \t\t\t\t unsigned long data, void *arg)\n {\n@@ -1624,7 +1624,7 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)\n \twiphy_unlock(hw->wiphy);\n \trtnl_unlock();\n \n-#ifdef CONFIG_INET\n+#ifdef CONFIG_LEGACY_IP\n \tlocal->ifa_notifier.notifier_call = ieee80211_ifa_changed;\n \tresult = register_inetaddr_notifier(&local->ifa_notifier);\n \tif (result)\n@@ -1642,11 +1642,11 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)\n \n #if IS_ENABLED(CONFIG_IPV6)\n  fail_ifa6:\n-#ifdef CONFIG_INET\n+#ifdef CONFIG_LEGACY_IP\n \tunregister_inetaddr_notifier(&local->ifa_notifier);\n #endif\n #endif\n-#if defined(CONFIG_INET) || defined(CONFIG_IPV6)\n+#if defined(CONFIG_LEGACY_IP) || defined(CONFIG_IPV6)\n  fail_ifa:\n #endif\n \twiphy_unregister(local->hw.wiphy);\n@@ -1673,7 +1673,7 @@ void ieee80211_unregister_hw(struct ieee80211_hw *hw)\n \ttasklet_kill(&local->tx_pending_tasklet);\n \ttasklet_kill(&local->tasklet);\n \n-#ifdef CONFIG_INET\n+#ifdef CONFIG_LEGACY_IP\n \tunregister_inetaddr_notifier(&local->ifa_notifier);\n #endif\n #if IS_ENABLED(CONFIG_IPV6)\ndiff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c\nindex 47f7f62906e2..e453fdb2254c 100644\n--- a/net/netfilter/nfnetlink_queue.c\n+++ b/net/netfilter/nfnetlink_queue.c\n@@ -339,7 +339,7 @@ static struct nf_hook_entries *nf_hook_entries_head(const struct net *net, u8 pf\n \n static int nf_ip_reroute(struct sk_buff *skb, const struct nf_queue_entry *entry)\n {\n-#ifdef CONFIG_INET\n+#ifdef CONFIG_LEGACY_IP\n \tconst struct ip_rt_info *rt_info = nf_queue_entry_reroute(entry);\n \n \tif (entry->state.hook == NF_INET_LOCAL_OUT) {\n",
    "prefixes": [
        "5/6"
    ]
}