mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 03:35:32 -04:00
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:
committed by
Paolo Abeni
parent
6a55e81d41
commit
3aa9ff037b
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 =
|
||||
|
||||
Reference in New Issue
Block a user