mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-25 18:50:07 +01:00
core: improve nm_ip_config_dump()
Previously we had nm_ip{4,6}_config_dump() for debugging purposes, but
they were inconveniently printing to stdout and so the output was not
ordered in the journal.
Implement a unified nm_ip_config_dump() that logs through the usual
logging mechanism.
(cherry picked from commit 3b49d1075d)
This commit is contained in:
parent
3a6da57b16
commit
0b1ffdbdb5
4 changed files with 75 additions and 100 deletions
|
|
@ -1971,71 +1971,90 @@ nm_ip4_config_replace (NMIP4Config *dst, const NMIP4Config *src, gboolean *relev
|
|||
}
|
||||
|
||||
void
|
||||
nm_ip4_config_dump (const NMIP4Config *self, const char *detail)
|
||||
nm_ip_config_dump (const NMIPConfig *self,
|
||||
const char *detail,
|
||||
NMLogLevel level,
|
||||
NMLogDomain domain)
|
||||
{
|
||||
guint32 tmp;
|
||||
guint i;
|
||||
const char *str;
|
||||
NMDedupMultiIter ipconf_iter;
|
||||
const NMPlatformIP4Address *address;
|
||||
const NMPlatformIP4Route *route;
|
||||
const NMPlatformIP4Address *addr4;
|
||||
const NMPlatformIP6Address *addr6;
|
||||
const NMPlatformIP4Route *route4;
|
||||
const NMPlatformIP6Route *route6;
|
||||
const NMIP4Config *ip4;
|
||||
const NMIP6Config *ip6;
|
||||
int addr_family = AF_UNSPEC;
|
||||
char addr_family_char = '?';
|
||||
const char *path;
|
||||
gconstpointer ptr;
|
||||
guint i;
|
||||
|
||||
g_message ("--------- NMIP4Config %p (%s)", self, detail);
|
||||
if (self) {
|
||||
addr_family = nm_ip_config_get_addr_family (self);
|
||||
addr_family_char = nm_utils_addr_family_to_char (addr_family);
|
||||
}
|
||||
|
||||
if (self == NULL) {
|
||||
g_message (" (null)");
|
||||
nm_log (level, domain, NULL, NULL,
|
||||
"---- NMIP%cConfig %p (%s)",
|
||||
addr_family_char,
|
||||
self,
|
||||
detail);
|
||||
|
||||
if (!self)
|
||||
return;
|
||||
|
||||
path = nm_dbus_object_get_path (NM_DBUS_OBJECT (self));
|
||||
if (path)
|
||||
nm_log (level, domain, NULL, NULL, " path : %s", path);
|
||||
|
||||
if (addr_family == AF_INET) {
|
||||
ip4 = NM_IP4_CONFIG (self);
|
||||
nm_ip_config_iter_ip4_address_for_each (&ipconf_iter, ip4, &addr4) {
|
||||
nm_log (level, domain, NULL, NULL, " address : %s",
|
||||
nm_platform_ip4_address_to_string (addr4, NULL, 0));
|
||||
}
|
||||
nm_ip_config_iter_ip4_route_for_each (&ipconf_iter, ip4, &route4) {
|
||||
nm_log (level, domain, NULL, NULL, " route : %s",
|
||||
nm_platform_ip4_route_to_string (route4, NULL, 0));
|
||||
}
|
||||
} else {
|
||||
ip6 = NM_IP6_CONFIG (self);
|
||||
nm_ip_config_iter_ip6_address_for_each (&ipconf_iter, ip6, &addr6) {
|
||||
nm_log (level, domain, NULL, NULL, " address : %s",
|
||||
nm_platform_ip6_address_to_string (addr6, NULL, 0));
|
||||
}
|
||||
nm_ip_config_iter_ip6_route_for_each (&ipconf_iter, ip6, &route6) {
|
||||
nm_log (level, domain, NULL, NULL, " route : %s",
|
||||
nm_platform_ip6_route_to_string (route6, NULL, 0));
|
||||
}
|
||||
}
|
||||
|
||||
str = nm_dbus_object_get_path (NM_DBUS_OBJECT (self));
|
||||
if (str)
|
||||
g_message (" path: %s", str);
|
||||
|
||||
/* addresses */
|
||||
nm_ip_config_iter_ip4_address_for_each (&ipconf_iter, self, &address)
|
||||
g_message (" a: %s", nm_platform_ip4_address_to_string (address, NULL, 0));
|
||||
|
||||
/* nameservers */
|
||||
for (i = 0; i < nm_ip4_config_get_num_nameservers (self); i++) {
|
||||
tmp = nm_ip4_config_get_nameserver (self, i);
|
||||
g_message (" ns: %s", nm_utils_inet4_ntop (tmp, NULL));
|
||||
for (i = 0; i < nm_ip_config_get_num_nameservers (self); i++) {
|
||||
ptr = nm_ip_config_get_nameserver (self, i);
|
||||
nm_log (level, domain, NULL, NULL, " dns : %s",
|
||||
nm_utils_inet_ntop (addr_family, ptr, NULL));
|
||||
}
|
||||
|
||||
/* routes */
|
||||
nm_ip_config_iter_ip4_route_for_each (&ipconf_iter, self, &route)
|
||||
g_message (" rt: %s", nm_platform_ip4_route_to_string (route, NULL, 0));
|
||||
for (i = 0; i < nm_ip_config_get_num_domains (self); i++)
|
||||
nm_log (level, domain, NULL, NULL, " domain : %s", nm_ip_config_get_domain (self, i));
|
||||
|
||||
/* domains */
|
||||
for (i = 0; i < nm_ip4_config_get_num_domains (self); i++)
|
||||
g_message (" domain: %s", nm_ip4_config_get_domain (self, i));
|
||||
for (i = 0; i < nm_ip_config_get_num_searches (self); i++)
|
||||
nm_log (level, domain, NULL, NULL, " search : %s", nm_ip_config_get_search (self, i));
|
||||
|
||||
/* dns searches */
|
||||
for (i = 0; i < nm_ip4_config_get_num_searches (self); i++)
|
||||
g_message (" search: %s", nm_ip4_config_get_search (self, i));
|
||||
for (i = 0; i < nm_ip_config_get_num_dns_options (self); i++)
|
||||
nm_log (level, domain, NULL, NULL, "dns-option: %s", nm_ip_config_get_dns_option (self, i));
|
||||
|
||||
/* dns options */
|
||||
for (i = 0; i < nm_ip4_config_get_num_dns_options (self); i++)
|
||||
g_message (" dnsopt: %s", nm_ip4_config_get_dns_option (self, i));
|
||||
nm_log (level, domain, NULL, NULL, " dns-prio : %d", nm_ip_config_get_dns_priority (self));
|
||||
|
||||
g_message (" dnspri: %d", nm_ip4_config_get_dns_priority (self));
|
||||
|
||||
g_message (" mtu: %"G_GUINT32_FORMAT" (source: %d)", nm_ip4_config_get_mtu (self), (int) nm_ip4_config_get_mtu_source (self));
|
||||
|
||||
/* NIS */
|
||||
for (i = 0; i < nm_ip4_config_get_num_nis_servers (self); i++) {
|
||||
tmp = nm_ip4_config_get_nis_server (self, i);
|
||||
g_message (" nis: %s", nm_utils_inet4_ntop (tmp, NULL));
|
||||
if (addr_family == AF_INET) {
|
||||
ip4 = NM_IP4_CONFIG (self);
|
||||
nm_log (level, domain, NULL, NULL,
|
||||
" mtu : %"G_GUINT32_FORMAT" (source: %d)",
|
||||
nm_ip4_config_get_mtu (ip4),
|
||||
(int) nm_ip4_config_get_mtu_source (ip4));
|
||||
nm_log (level, domain, NULL, NULL, " metered : %d",
|
||||
(int) nm_ip4_config_get_metered (ip4));
|
||||
}
|
||||
|
||||
g_message (" nisdmn: %s", nm_ip4_config_get_nis_domain (self) ?: "(none)");
|
||||
|
||||
/* WINS */
|
||||
for (i = 0; i < nm_ip4_config_get_num_wins (self); i++) {
|
||||
tmp = nm_ip4_config_get_wins (self, i);
|
||||
g_message (" wins: %s", nm_utils_inet4_ntop (tmp, NULL));
|
||||
}
|
||||
|
||||
g_message (" mtrd: %d", (int) nm_ip4_config_get_metered (self));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
|||
|
|
@ -194,7 +194,6 @@ NMIP4Config *nm_ip4_config_intersect_alloc (const NMIP4Config *a,
|
|||
const NMIP4Config *b,
|
||||
guint32 default_route_metric_penalty);
|
||||
gboolean nm_ip4_config_replace (NMIP4Config *dst, const NMIP4Config *src, gboolean *relevant_changes);
|
||||
void nm_ip4_config_dump (const NMIP4Config *self, const char *detail);
|
||||
|
||||
const NMPObject *nm_ip4_config_best_default_route_get (const NMIP4Config *self);
|
||||
const NMPObject *_nm_ip4_config_best_default_route_find (const NMIP4Config *self);
|
||||
|
|
@ -297,6 +296,11 @@ gboolean nm_ip4_config_equal (const NMIP4Config *a, const NMIP4Config *b);
|
|||
|
||||
gboolean _nm_ip_config_check_and_add_domain (GPtrArray *array, const char *domain);
|
||||
|
||||
void nm_ip_config_dump (const NMIPConfig *self,
|
||||
const char *detail,
|
||||
NMLogLevel level,
|
||||
NMLogDomain domain);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "nm-ip6-config.h"
|
||||
|
|
|
|||
|
|
@ -1483,53 +1483,6 @@ nm_ip6_config_replace (NMIP6Config *dst, const NMIP6Config *src, gboolean *relev
|
|||
return has_relevant_changes || has_minor_changes;
|
||||
}
|
||||
|
||||
void
|
||||
nm_ip6_config_dump (const NMIP6Config *self, const char *detail)
|
||||
{
|
||||
const struct in6_addr *tmp;
|
||||
guint32 i;
|
||||
const char *str;
|
||||
NMDedupMultiIter ipconf_iter;
|
||||
const NMPlatformIP6Address *address;
|
||||
const NMPlatformIP6Route *route;
|
||||
|
||||
g_return_if_fail (self != NULL);
|
||||
|
||||
g_message ("--------- NMIP6Config %p (%s)", self, detail);
|
||||
|
||||
str = nm_dbus_object_get_path (NM_DBUS_OBJECT (self));
|
||||
if (str)
|
||||
g_message (" path: %s", str);
|
||||
|
||||
/* addresses */
|
||||
nm_ip_config_iter_ip6_address_for_each (&ipconf_iter, self, &address)
|
||||
g_message (" a: %s", nm_platform_ip6_address_to_string (address, NULL, 0));
|
||||
|
||||
/* nameservers */
|
||||
for (i = 0; i < nm_ip6_config_get_num_nameservers (self); i++) {
|
||||
tmp = nm_ip6_config_get_nameserver (self, i);
|
||||
g_message (" ns: %s", nm_utils_inet6_ntop (tmp, NULL));
|
||||
}
|
||||
|
||||
/* routes */
|
||||
nm_ip_config_iter_ip6_route_for_each (&ipconf_iter, self, &route)
|
||||
g_message (" rt: %s", nm_platform_ip6_route_to_string (route, NULL, 0));
|
||||
|
||||
/* domains */
|
||||
for (i = 0; i < nm_ip6_config_get_num_domains (self); i++)
|
||||
g_message (" domain: %s", nm_ip6_config_get_domain (self, i));
|
||||
|
||||
/* dns searches */
|
||||
for (i = 0; i < nm_ip6_config_get_num_searches (self); i++)
|
||||
g_message (" search: %s", nm_ip6_config_get_search (self, i));
|
||||
|
||||
/* dns options */
|
||||
for (i = 0; i < nm_ip6_config_get_num_dns_options (self); i++)
|
||||
g_message (" dnsopt: %s", nm_ip6_config_get_dns_option (self, i));
|
||||
|
||||
g_message (" dnspri: %d", nm_ip6_config_get_dns_priority (self));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -135,7 +135,6 @@ NMIP6Config *nm_ip6_config_intersect_alloc (const NMIP6Config *a,
|
|||
const NMIP6Config *b,
|
||||
guint32 default_route_metric_penalty);
|
||||
gboolean nm_ip6_config_replace (NMIP6Config *dst, const NMIP6Config *src, gboolean *relevant_changes);
|
||||
void nm_ip6_config_dump (const NMIP6Config *self, const char *detail);
|
||||
|
||||
const NMPObject *nm_ip6_config_best_default_route_get (const NMIP6Config *self);
|
||||
const NMPObject *_nm_ip6_config_best_default_route_find (const NMIP6Config *self);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue