netconsole: move netpoll_take_ipv4() as netcons_take_ipv4()

Move netpoll_take_ipv4() to netconsole, which is the only user. Rename
it to netcons_take_ipv4() for the netcons_ prefix. The body is
unchanged.

Signed-off-by: Breno Leitao <leitao@debian.org>
Reviewed-by: Gustavo Luiz Duarte <gustavold@gmail.com>
Link: https://patch.msgid.link/20260724-netconsole_move_more_final-v1-5-a5f7691db81c@debian.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
Breno Leitao
2026-07-24 08:04:13 -07:00
committed by Paolo Abeni
parent 6a55e81d41
commit 3aa9ff037b
3 changed files with 31 additions and 32 deletions

View File

@@ -37,6 +37,7 @@
#include <linux/udp.h>
#include <linux/netpoll.h>
#include <linux/inet.h>
#include <linux/inetdevice.h>
#include <linux/unaligned.h>
#include <net/ip6_checksum.h>
#include <linux/configfs.h>
@@ -351,6 +352,35 @@ static void netconsole_skb_pool_flush(struct netconsole_target *nt)
skb_queue_purge_reason(&nt->skb_pool, SKB_CONSUMED);
}
/*
* Take the IPv4 from ndev and populate local_ip structure in netpoll
*/
static int netcons_take_ipv4(struct netpoll *np, struct net_device *ndev)
{
char buf[MAC_ADDR_STR_LEN + 1];
const struct in_ifaddr *ifa;
struct in_device *in_dev;
in_dev = __in_dev_get_rtnl(ndev);
if (!in_dev) {
np_err(np, "no IP address for %s, aborting\n",
egress_dev(np, buf, sizeof(buf)));
return -EDESTADDRREQ;
}
ifa = rtnl_dereference(in_dev->ifa_list);
if (!ifa) {
np_err(np, "no IP address for %s, aborting\n",
egress_dev(np, buf, sizeof(buf)));
return -EDESTADDRREQ;
}
np->local_ip.ip = ifa->ifa_local;
np_info(np, "local IP %pI4\n", &np->local_ip.ip);
return 0;
}
/*
* Test whether the caller left np->local_ip unset, so that
* netcons_netpoll_setup() should auto-populate it from the egress device.
@@ -414,7 +444,7 @@ static int netcons_netpoll_setup(struct netpoll *np)
if (netcons_local_ip_unset(np)) {
if (!np->ipv6) {
err = netpoll_take_ipv4(np, ndev);
err = netcons_take_ipv4(np, ndev);
if (err)
goto put;
} else {

View File

@@ -74,7 +74,6 @@ void netpoll_zap_completion_queue(void);
unsigned int netpoll_get_carrier_timeout(void);
void netpoll_wait_carrier(struct netpoll *np, struct net_device *ndev);
char *egress_dev(struct netpoll *np, char *buf, size_t bufsz);
int netpoll_take_ipv4(struct netpoll *np, struct net_device *ndev);
int netpoll_take_ipv6(struct netpoll *np, struct net_device *ndev);
#ifdef CONFIG_NETPOLL

View File

@@ -466,36 +466,6 @@ int netpoll_take_ipv6(struct netpoll *np, struct net_device *ndev)
}
EXPORT_SYMBOL_GPL(netpoll_take_ipv6);
/*
* Take the IPv4 from ndev and populate local_ip structure in netpoll
*/
int netpoll_take_ipv4(struct netpoll *np, struct net_device *ndev)
{
char buf[MAC_ADDR_STR_LEN + 1];
const struct in_ifaddr *ifa;
struct in_device *in_dev;
in_dev = __in_dev_get_rtnl(ndev);
if (!in_dev) {
np_err(np, "no IP address for %s, aborting\n",
egress_dev(np, buf, sizeof(buf)));
return -EDESTADDRREQ;
}
ifa = rtnl_dereference(in_dev->ifa_list);
if (!ifa) {
np_err(np, "no IP address for %s, aborting\n",
egress_dev(np, buf, sizeof(buf)));
return -EDESTADDRREQ;
}
np->local_ip.ip = ifa->ifa_local;
np_info(np, "local IP %pI4\n", &np->local_ip.ip);
return 0;
}
EXPORT_SYMBOL_GPL(netpoll_take_ipv4);
static void rcu_cleanup_netpoll_info(struct rcu_head *rcu_head)
{
struct netpoll_info *npinfo =