Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2218431/?format=api
{ "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" ] }