From: Breno Leitao <leitao@debian.org>
To: "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,
Andrew Lunn <andrew+netdev@lunn.ch>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Clark Williams <clrkwllms@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-rt-devel@lists.linux.dev, Breno Leitao <leitao@debian.org>,
kernel-team@meta.com
Subject: [PATCH net-next v2 3/9] netconsole: move push_ipv6() from netpoll
Date: Tue, 12 May 2026 03:46:36 -0700 [thread overview]
Message-ID: <20260512-netconsole_split-v2-3-1191d14ad66d@debian.org> (raw)
In-Reply-To: <20260512-netconsole_split-v2-0-1191d14ad66d@debian.org>
push_ipv6() builds the IPv6 header for netconsole's UDP packets.
Its only caller, netpoll_send_udp(), now lives in netconsole, so
the helper can move there as a file-static function. Drop its
EXPORT_SYMBOL_GPL and remove the prototype from
include/linux/netpoll.h.
Signed-off-by: Breno Leitao <leitao@debian.org>
---
drivers/net/netconsole.c | 23 +++++++++++++++++++++++
include/linux/netpoll.h | 1 -
net/core/netpoll.c | 24 ------------------------
3 files changed, 23 insertions(+), 25 deletions(-)
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index 56f310041ebda..f805ae95ce7b1 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -1651,6 +1651,29 @@ static struct notifier_block netconsole_netdev_notifier = {
.notifier_call = netconsole_netdev_event,
};
+static void push_ipv6(struct netpoll *np, struct sk_buff *skb, int len)
+{
+ struct ipv6hdr *ip6h;
+
+ skb_push(skb, sizeof(struct ipv6hdr));
+ skb_reset_network_header(skb);
+ ip6h = ipv6_hdr(skb);
+
+ /* ip6h->version = 6; ip6h->priority = 0; */
+ *(unsigned char *)ip6h = 0x60;
+ ip6h->flow_lbl[0] = 0;
+ ip6h->flow_lbl[1] = 0;
+ ip6h->flow_lbl[2] = 0;
+
+ ip6h->payload_len = htons(sizeof(struct udphdr) + len);
+ ip6h->nexthdr = IPPROTO_UDP;
+ ip6h->hop_limit = 32;
+ ip6h->saddr = np->local_ip.in6;
+ ip6h->daddr = np->remote_ip.in6;
+
+ skb->protocol = htons(ETH_P_IPV6);
+}
+
static int netpoll_send_udp(struct netpoll *np, const char *msg, int len)
{
int total_len, ip_len, udp_len;
diff --git a/include/linux/netpoll.h b/include/linux/netpoll.h
index 57be72bb82dc9..7f57bd0eac66d 100644
--- a/include/linux/netpoll.h
+++ b/include/linux/netpoll.h
@@ -75,7 +75,6 @@ void do_netpoll_cleanup(struct netpoll *np);
netdev_tx_t netpoll_send_skb(struct netpoll *np, struct sk_buff *skb);
struct sk_buff *find_skb(struct netpoll *np, int len, int reserve);
void netpoll_udp_checksum(struct netpoll *np, struct sk_buff *skb, int len);
-void push_ipv6(struct netpoll *np, struct sk_buff *skb, int len);
void push_ipv4(struct netpoll *np, struct sk_buff *skb, int len);
void push_udp(struct netpoll *np, struct sk_buff *skb, int len);
void push_eth(struct netpoll *np, struct sk_buff *skb);
diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index 39209308efad0..6a10ca5eaa093 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -413,30 +413,6 @@ netdev_tx_t netpoll_send_skb(struct netpoll *np, struct sk_buff *skb)
}
EXPORT_SYMBOL(netpoll_send_skb);
-void push_ipv6(struct netpoll *np, struct sk_buff *skb, int len)
-{
- struct ipv6hdr *ip6h;
-
- skb_push(skb, sizeof(struct ipv6hdr));
- skb_reset_network_header(skb);
- ip6h = ipv6_hdr(skb);
-
- /* ip6h->version = 6; ip6h->priority = 0; */
- *(unsigned char *)ip6h = 0x60;
- ip6h->flow_lbl[0] = 0;
- ip6h->flow_lbl[1] = 0;
- ip6h->flow_lbl[2] = 0;
-
- ip6h->payload_len = htons(sizeof(struct udphdr) + len);
- ip6h->nexthdr = IPPROTO_UDP;
- ip6h->hop_limit = 32;
- ip6h->saddr = np->local_ip.in6;
- ip6h->daddr = np->remote_ip.in6;
-
- skb->protocol = htons(ETH_P_IPV6);
-}
-EXPORT_SYMBOL_GPL(push_ipv6);
-
void push_ipv4(struct netpoll *np, struct sk_buff *skb, int len)
{
static atomic_t ip_ident;
--
2.53.0-Meta
next prev parent reply other threads:[~2026-05-12 10:48 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-12 10:46 [PATCH net-next v2 0/9] netpoll: move out netconsole-specific functions Breno Leitao
2026-05-12 10:46 ` [PATCH net-next v2 1/9] netpoll: expose UDP packet builder helpers for netconsole Breno Leitao
2026-05-12 10:46 ` [PATCH net-next v2 2/9] netconsole: move netpoll_send_udp() from netpoll Breno Leitao
2026-05-12 10:46 ` Breno Leitao [this message]
2026-05-12 10:46 ` [PATCH net-next v2 4/9] netconsole: move push_ipv4() " Breno Leitao
2026-05-12 10:46 ` [PATCH net-next v2 5/9] netconsole: move push_eth() " Breno Leitao
2026-05-12 10:46 ` [PATCH net-next v2 6/9] netconsole: move push_udp() " Breno Leitao
2026-05-12 10:46 ` [PATCH net-next v2 7/9] netconsole: move netpoll_udp_checksum() " Breno Leitao
2026-05-12 10:46 ` [PATCH net-next v2 8/9] netpoll: rename and export netpoll_zap_completion_queue() Breno Leitao
2026-05-12 10:46 ` [PATCH net-next v2 9/9] netconsole: move find_skb() from netpoll Breno Leitao
2026-05-14 1:50 ` [PATCH net-next v2 0/9] netpoll: move out netconsole-specific functions patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260512-netconsole_split-v2-3-1191d14ad66d@debian.org \
--to=leitao@debian.org \
--cc=andrew+netdev@lunn.ch \
--cc=bigeasy@linutronix.de \
--cc=clrkwllms@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kernel-team@meta.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-devel@lists.linux.dev \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.