Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2215832/?format=api
{ "id": 2215832, "url": "http://patchwork.ozlabs.org/api/patches/2215832/?format=api", "web_url": "http://patchwork.ozlabs.org/project/openvswitch/patch/20260325120928.15848-9-fmancera@suse.de/", "project": { "id": 47, "url": "http://patchwork.ozlabs.org/api/projects/47/?format=api", "name": "Open vSwitch", "link_name": "openvswitch", "list_id": "ovs-dev.openvswitch.org", "list_email": "ovs-dev@openvswitch.org", "web_url": "http://openvswitch.org/", "scm_url": "git@github.com:openvswitch/ovs.git", "webscm_url": "https://github.com/openvswitch/ovs", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260325120928.15848-9-fmancera@suse.de>", "list_archive_url": null, "date": "2026-03-25T12:08:49", "name": "[ovs-dev,08/11,net-next,v5] net: convert remaining ipv6_stub users to direct function calls", "commit_ref": null, "pull_url": null, "state": "handled-elsewhere", "archived": false, "hash": "9eeb5385a5b51e1a09fa9b2dc917218b4105617d", "submitter": { "id": 90904, "url": "http://patchwork.ozlabs.org/api/people/90904/?format=api", "name": "Fernando Fernandez Mancera", "email": "fmancera@suse.de" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/openvswitch/patch/20260325120928.15848-9-fmancera@suse.de/mbox/", "series": [ { "id": 497431, "url": "http://patchwork.ozlabs.org/api/series/497431/?format=api", "web_url": "http://patchwork.ozlabs.org/project/openvswitch/list/?series=497431", "date": "2026-03-25T12:08:49", "name": null, "version": 5, "mbox": "http://patchwork.ozlabs.org/series/497431/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2215832/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2215832/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<ovs-dev-bounces@openvswitch.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "dev@openvswitch.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "ovs-dev@lists.linuxfoundation.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org\n (client-ip=140.211.166.136; helo=smtp3.osuosl.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org)", "smtp1.osuosl.org;\n dmarc=pass (p=none dis=none) header.from=suse.de", "smtp-out1.suse.de;\n\tnone" ], "Received": [ "from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])\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 4fgmBm04fGz1y1K\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Mar 2026 23:17:51 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 14C9B61333;\n\tWed, 25 Mar 2026 12:17:49 +0000 (UTC)", "from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id DVmqWXke4MGM; Wed, 25 Mar 2026 12:17:47 +0000 (UTC)", "from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56])\n\tby smtp3.osuosl.org (Postfix) with ESMTPS id 48B9961329;\n\tWed, 25 Mar 2026 12:17:47 +0000 (UTC)", "from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id 21D47C04E8;\n\tWed, 25 Mar 2026 12:17:47 +0000 (UTC)", "from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n by lists.linuxfoundation.org (Postfix) with ESMTP id C01E3C04E7\n for <dev@openvswitch.org>; Wed, 25 Mar 2026 12:17:46 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id A6A4081DD8\n for <dev@openvswitch.org>; Wed, 25 Mar 2026 12:17:46 +0000 (UTC)", "from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id Byuknbf2N5R6 for <dev@openvswitch.org>;\n Wed, 25 Mar 2026 12:17:46 +0000 (UTC)", "from smtp-out1.suse.de (smtp-out1.suse.de\n [IPv6:2a07:de40:b251:101:10:150:64:1])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 93C4281DA0\n for <dev@openvswitch.org>; Wed, 25 Mar 2026 12:17:45 +0000 (UTC)", "from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org\n [IPv6:2a07:de40:b281:104:10:150:64:97])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (No client certificate requested)\n by smtp-out1.suse.de (Postfix) with ESMTPS id 2EC7E4D22F;\n Wed, 25 Mar 2026 12:11:12 +0000 (UTC)", "from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (No client certificate requested)\n by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id C2F25443BE;\n Wed, 25 Mar 2026 12:11:10 +0000 (UTC)", "from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])\n by imap1.dmz-prg2.suse.org with ESMTPSA id 0CKpLN7Qw2kbNgAAD6G6ig\n (envelope-from <fmancera@suse.de>); Wed, 25 Mar 2026 12:11:10 +0000" ], "X-Virus-Scanned": [ "amavis at osuosl.org", "amavis at osuosl.org" ], "X-Comment": "SPF check N/A for local connections - client-ip=140.211.9.56;\n helo=lists.linuxfoundation.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=<UNKNOWN> ", "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 smtp3.osuosl.org 48B9961329", "OpenDKIM Filter v2.11.0 smtp1.osuosl.org 93C4281DA0" ], "X-Greylist": "delayed 391 seconds by postgrey-1.37 at util1.osuosl.org;\n Wed, 25 Mar 2026 12:17:45 UTC", "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp1.osuosl.org 93C4281DA0", "Received-SPF": "Pass (mailfrom) identity=mailfrom;\n client-ip=2a07:de40:b251:101:10:150:64:1; helo=smtp-out1.suse.de;\n envelope-from=fmancera@suse.de; receiver=<UNKNOWN>", "From": "Fernando Fernandez Mancera <fmancera@suse.de>", "To": "netdev@vger.kernel.org", "Date": "Wed, 25 Mar 2026 13:08:49 +0100", "Message-ID": "<20260325120928.15848-9-fmancera@suse.de>", "X-Mailer": "git-send-email 2.51.0", "In-Reply-To": "<20260325120928.15848-1-fmancera@suse.de>", "References": "<20260325120928.15848-1-fmancera@suse.de>", "MIME-Version": "1.0", "X-Rspamd-Pre-Result": [ "action=no action; module=replies;\n Message is reply to one we originated", "action=no action; module=replies;\n Message is reply to one we originated" ], "X-Rspamd-Queue-Id": "2EC7E4D22F", "X-Rspamd-Action": "no action", "X-Spamd-Result": "default: False [-4.00 / 50.00];\n\tREPLY(-4.00)[]", "X-Rspamd-Server": "rspamd1.dmz-prg2.suse.org", "Subject": "[ovs-dev] [PATCH 08/11 net-next v5] net: convert remaining\n ipv6_stub users to direct function calls", "X-BeenThere": "ovs-dev@openvswitch.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "<ovs-dev.openvswitch.org>", "List-Unsubscribe": "<https://mail.openvswitch.org/mailman/options/ovs-dev>,\n <mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe>", "List-Archive": "<http://mail.openvswitch.org/pipermail/ovs-dev/>", "List-Post": "<mailto:ovs-dev@openvswitch.org>", "List-Help": "<mailto:ovs-dev-request@openvswitch.org?subject=help>", "List-Subscribe": "<https://mail.openvswitch.org/mailman/listinfo/ovs-dev>,\n <mailto:ovs-dev-request@openvswitch.org?subject=subscribe>", "Cc": "Kees Cook <kees@kernel.org>,\n Fernando Fernandez Mancera <fmancera@suse.de>,\n Eric Dumazet <edumazet@google.com>, Breno Leitao <leitao@debian.org>,\n Steffen Klassert <steffen.klassert@secunet.com>,\n Kuniyuki Iwashima <kuniyu@google.com>,\n Herbert Xu <herbert@gondor.apana.org.au>,\n Sabrina Dubroca <sd@queasysnail.net>, Guillaume Nault <gnault@redhat.com>,\n Ilya Maximets <i.maximets@ovn.org>, Stanislav Fomichev <sdf@fomichev.me>,\n Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,\n dev@openvswitch.org, Jiri Pirko <jiri@resnulli.us>,\n Jamal Hadi Salim <jhs@mojatatu.com>,\n =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= <rbm@suse.com>,\n linux-kernel@vger.kernel.org, Jon Maloy <jmaloy@redhat.com>,\n tipc-discussion@lists.sourceforge.net, Simon Horman <horms@kernel.org>,\n \"David S. Miller\" <davem@davemloft.net>", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "Errors-To": "ovs-dev-bounces@openvswitch.org", "Sender": "\"dev\" <ovs-dev-bounces@openvswitch.org>" }, "content": "As IPv6 is built-in only, the ipv6_stub infrastructure is no longer\nnecessary.\n\nConvert remaining ipv6_stub users to make direct function calls. The\nfallback functions introduced previously will prevent linkage errors\nwhen CONFIG_IPV6 is disabled.\n\nSigned-off-by: Fernando Fernandez Mancera <fmancera@suse.de>\nTested-by: Ricardo B. Marlière <rbm@suse.com>\n---\n include/net/udp_tunnel.h | 2 +-\n net/mpls/af_mpls.c | 3 +--\n net/openvswitch/actions.c | 3 ++-\n net/sched/sch_frag.c | 4 ++--\n net/tipc/udp_media.c | 9 +++------\n net/xfrm/espintcp.c | 5 +----\n net/xfrm/xfrm_nat_keepalive.c | 4 ++--\n net/xfrm/xfrm_output.c | 3 +--\n 8 files changed, 13 insertions(+), 20 deletions(-)", "diff": "diff --git a/include/net/udp_tunnel.h b/include/net/udp_tunnel.h\nindex fc1fc43345b5..40089fc4c1ba 100644\n--- a/include/net/udp_tunnel.h\n+++ b/include/net/udp_tunnel.h\n@@ -230,7 +230,7 @@ static inline void udp_tunnel_encap_enable(struct sock *sk)\n \n #if IS_ENABLED(CONFIG_IPV6)\n \tif (READ_ONCE(sk->sk_family) == PF_INET6)\n-\t\tipv6_stub->udpv6_encap_enable();\n+\t\tudpv6_encap_enable();\n #endif\n \tudp_encap_enable();\n }\ndiff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c\nindex b32311f5cbf7..58a5bd69ee61 100644\n--- a/net/mpls/af_mpls.c\n+++ b/net/mpls/af_mpls.c\n@@ -24,7 +24,6 @@\n #if IS_ENABLED(CONFIG_IPV6)\n #include <net/ipv6.h>\n #endif\n-#include <net/ipv6_stubs.h>\n #include <net/rtnh.h>\n #include \"internal.h\"\n \n@@ -642,7 +641,7 @@ static struct net_device *inet6_fib_lookup_dev(struct net *net,\n \n \tmemset(&fl6, 0, sizeof(fl6));\n \tmemcpy(&fl6.daddr, addr, sizeof(struct in6_addr));\n-\tdst = ipv6_stub->ipv6_dst_lookup_flow(net, NULL, &fl6, NULL);\n+\tdst = ip6_dst_lookup_flow(net, NULL, &fl6, NULL);\n \tif (IS_ERR(dst))\n \t\treturn ERR_CAST(dst);\n \ndiff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c\nindex 792ca44a461d..140388a18ae0 100644\n--- a/net/openvswitch/actions.c\n+++ b/net/openvswitch/actions.c\n@@ -21,6 +21,7 @@\n #include <net/ip.h>\n #include <net/ipv6.h>\n #include <net/ip6_fib.h>\n+#include <net/ip6_route.h>\n #include <net/checksum.h>\n #include <net/dsfield.h>\n #include <net/mpls.h>\n@@ -810,7 +811,7 @@ static void ovs_fragment(struct net *net, struct vport *vport,\n \t\tskb_dst_set_noref(skb, &ovs_rt.dst);\n \t\tIP6CB(skb)->frag_max_size = mru;\n \n-\t\tipv6_stub->ipv6_fragment(net, skb->sk, skb, ovs_vport_output);\n+\t\tip6_fragment(net, skb->sk, skb, ovs_vport_output);\n \t\trefdst_drop(orig_dst);\n \t} else {\n \t\tWARN_ONCE(1, \"Failed fragment ->%s: eth=%04x, MRU=%d, MTU=%d.\",\ndiff --git a/net/sched/sch_frag.c b/net/sched/sch_frag.c\nindex d1d87dce7f3f..75ee52750919 100644\n--- a/net/sched/sch_frag.c\n+++ b/net/sched/sch_frag.c\n@@ -6,6 +6,7 @@\n #include <net/dst.h>\n #include <net/ip.h>\n #include <net/ip6_fib.h>\n+#include <net/ip6_route.h>\n \n struct sch_frag_data {\n \tunsigned long dst;\n@@ -127,8 +128,7 @@ static int sch_fragment(struct net *net, struct sk_buff *skb,\n \t\tskb_dst_set_noref(skb, &sch_frag_rt.dst);\n \t\tIP6CB(skb)->frag_max_size = mru;\n \n-\t\tret = ipv6_stub->ipv6_fragment(net, skb->sk, skb,\n-\t\t\t\t\t sch_frag_xmit);\n+\t\tret = ip6_fragment(net, skb->sk, skb, sch_frag_xmit);\n \t\tlocal_unlock_nested_bh(&sch_frag_data_storage.bh_lock);\n \t\trefdst_drop(orig_dst);\n \t} else {\ndiff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c\nindex 2b8e385d1e51..2c66b356025a 100644\n--- a/net/tipc/udp_media.c\n+++ b/net/tipc/udp_media.c\n@@ -44,7 +44,6 @@\n #include <net/sock.h>\n #include <net/ip.h>\n #include <net/udp_tunnel.h>\n-#include <net/ipv6_stubs.h>\n #include <linux/tipc_netlink.h>\n #include \"core.h\"\n #include \"addr.h\"\n@@ -207,9 +206,8 @@ static int tipc_udp_xmit(struct net *net, struct sk_buff *skb,\n \t\t\t\t.saddr = src->ipv6,\n \t\t\t\t.flowi6_proto = IPPROTO_UDP\n \t\t\t};\n-\t\t\tndst = ipv6_stub->ipv6_dst_lookup_flow(net,\n-\t\t\t\t\t\t\t ub->ubsock->sk,\n-\t\t\t\t\t\t\t &fl6, NULL);\n+\t\t\tndst = ip6_dst_lookup_flow(net, ub->ubsock->sk,\n+\t\t\t\t\t\t &fl6, NULL);\n \t\t\tif (IS_ERR(ndst)) {\n \t\t\t\terr = PTR_ERR(ndst);\n \t\t\t\tgoto tx_error;\n@@ -418,8 +416,7 @@ static int enable_mcast(struct udp_bearer *ub, struct udp_media_addr *remote)\n #if IS_ENABLED(CONFIG_IPV6)\n \t} else {\n \t\tlock_sock(sk);\n-\t\terr = ipv6_stub->ipv6_sock_mc_join(sk, ub->ifindex,\n-\t\t\t\t\t\t &remote->ipv6);\n+\t\terr = ipv6_sock_mc_join(sk, ub->ifindex, &remote->ipv6);\n \t\trelease_sock(sk);\n #endif\n \t}\ndiff --git a/net/xfrm/espintcp.c b/net/xfrm/espintcp.c\nindex 998832419097..a2756186e13a 100644\n--- a/net/xfrm/espintcp.c\n+++ b/net/xfrm/espintcp.c\n@@ -7,9 +7,6 @@\n #include <linux/skmsg.h>\n #include <net/inet_common.h>\n #include <trace/events/sock.h>\n-#if IS_ENABLED(CONFIG_IPV6)\n-#include <net/ipv6_stubs.h>\n-#endif\n #include <net/hotdata.h>\n \n static void handle_nonesp(struct espintcp_ctx *ctx, struct sk_buff *skb,\n@@ -43,7 +40,7 @@ static void handle_esp(struct sk_buff *skb, struct sock *sk)\n \tlocal_bh_disable();\n #if IS_ENABLED(CONFIG_IPV6)\n \tif (sk->sk_family == AF_INET6)\n-\t\tipv6_stub->xfrm6_rcv_encap(skb, IPPROTO_ESP, 0, TCP_ENCAP_ESPINTCP);\n+\t\txfrm6_rcv_encap(skb, IPPROTO_ESP, 0, TCP_ENCAP_ESPINTCP);\n \telse\n #endif\n \t\txfrm4_rcv_encap(skb, IPPROTO_ESP, 0, TCP_ENCAP_ESPINTCP);\ndiff --git a/net/xfrm/xfrm_nat_keepalive.c b/net/xfrm/xfrm_nat_keepalive.c\nindex ebf95d48e86c..d47f2ed8005c 100644\n--- a/net/xfrm/xfrm_nat_keepalive.c\n+++ b/net/xfrm/xfrm_nat_keepalive.c\n@@ -98,14 +98,14 @@ static int nat_keepalive_send_ipv6(struct sk_buff *skb,\n \tlocal_lock_nested_bh(&nat_keepalive_sk_ipv6.bh_lock);\n \tsk = this_cpu_read(nat_keepalive_sk_ipv6.sock);\n \tsock_net_set(sk, net);\n-\tdst = ipv6_stub->ipv6_dst_lookup_flow(net, sk, &fl6, NULL);\n+\tdst = ip6_dst_lookup_flow(net, sk, &fl6, NULL);\n \tif (IS_ERR(dst)) {\n \t\tlocal_unlock_nested_bh(&nat_keepalive_sk_ipv6.bh_lock);\n \t\treturn PTR_ERR(dst);\n \t}\n \n \tskb_dst_set(skb, dst);\n-\terr = ipv6_stub->ip6_xmit(sk, skb, &fl6, skb->mark, NULL, 0, 0);\n+\terr = ip6_xmit(sk, skb, &fl6, skb->mark, NULL, 0, 0);\n \tsock_net_set(sk, &init_net);\n \tlocal_unlock_nested_bh(&nat_keepalive_sk_ipv6.bh_lock);\n \treturn err;\ndiff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c\nindex 54222fcbd7fd..a9652b422f51 100644\n--- a/net/xfrm/xfrm_output.c\n+++ b/net/xfrm/xfrm_output.c\n@@ -20,7 +20,6 @@\n \n #if IS_ENABLED(CONFIG_IPV6)\n #include <net/ip6_route.h>\n-#include <net/ipv6_stubs.h>\n #endif\n \n #include \"xfrm_inout.h\"\n@@ -900,7 +899,7 @@ int xfrm6_tunnel_check_size(struct sk_buff *skb)\n \t\tskb->protocol = htons(ETH_P_IPV6);\n \n \t\tif (xfrm6_local_dontfrag(sk))\n-\t\t\tipv6_stub->xfrm6_local_rxpmtu(skb, mtu);\n+\t\t\txfrm6_local_rxpmtu(skb, mtu);\n \t\telse if (sk)\n \t\t\txfrm_local_error(skb, mtu);\n \t\telse\n", "prefixes": [ "ovs-dev", "08/11", "net-next", "v5" ] }