summaryrefslogtreecommitdiff
path: root/src/nm-ip4-config.c
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2018-09-21 18:30:49 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2018-09-26 11:49:37 +0200
commit3b49d1075daa084edd7541a0915a97b3afd643e9 (patch)
treedc9474b67d8ff942ddb3ae9a48c9d1020554812c /src/nm-ip4-config.c
parentd7017005e1ffe169ee110bfccfb01fa2345ceb13 (diff)
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.
Diffstat (limited to 'src/nm-ip4-config.c')
-rw-r--r--src/nm-ip4-config.c119
1 files changed, 69 insertions, 50 deletions
diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c
index 573c479a92..1fec20d51f 100644
--- a/src/nm-ip4-config.c
+++ b/src/nm-ip4-config.c
@@ -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;
-
- g_message ("--------- NMIP4Config %p (%s)", self, detail);
+ 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;
- if (self == NULL) {
- g_message (" (null)");
- return;
+ if (self) {
+ addr_family = nm_ip_config_get_addr_family (self);
+ addr_family_char = nm_utils_addr_family_to_char (addr_family);
}
- 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));
+ nm_log (level, domain, NULL, NULL,
+ "---- NMIP%cConfig %p (%s)",
+ addr_family_char,
+ self,
+ detail);
- /* 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));
- }
-
- /* 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));
+ if (!self)
+ return;
- /* domains */
- for (i = 0; i < nm_ip4_config_get_num_domains (self); i++)
- g_message (" domain: %s", nm_ip4_config_get_domain (self, i));
+ path = nm_dbus_object_get_path (NM_DBUS_OBJECT (self));
+ if (path)
+ nm_log (level, domain, NULL, NULL, " path : %s", path);
- /* 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));
+ 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));
+ }
+ }
- /* 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));
+ 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));
+ }
- g_message (" dnspri: %d", nm_ip4_config_get_dns_priority (self));
+ 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));
- g_message (" mtu: %"G_GUINT32_FORMAT" (source: %d)", nm_ip4_config_get_mtu (self), (int) nm_ip4_config_get_mtu_source (self));
+ 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));
- /* 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));
- }
+ 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));
- g_message (" nisdmn: %s", nm_ip4_config_get_nis_domain (self) ?: "(none)");
+ nm_log (level, domain, NULL, NULL, " dns-prio : %d", nm_ip_config_get_dns_priority (self));
- /* 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));
+ 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 (" mtrd: %d", (int) nm_ip4_config_get_metered (self));
}
/*****************************************************************************/