platform: print more fields in nm_platform_link_to_string()
This commit is contained in:
@@ -2442,27 +2442,30 @@ nm_platform_link_to_string (const NMPlatformLink *link)
|
|||||||
{
|
{
|
||||||
char master[20];
|
char master[20];
|
||||||
char parent[20];
|
char parent[20];
|
||||||
char str_flags[64];
|
|
||||||
char *driver, *udi;
|
|
||||||
char str_vlan[16];
|
char str_vlan[16];
|
||||||
GString *str;
|
GString *str_flags;
|
||||||
|
char str_addrmode[30];
|
||||||
|
gs_free char *str_addr = NULL;
|
||||||
|
gs_free char *str_inet6_token = NULL;
|
||||||
|
|
||||||
if (!link)
|
if (!link)
|
||||||
return "(unknown link)";
|
return "(unknown link)";
|
||||||
|
|
||||||
str = g_string_new (NULL);
|
str_flags = g_string_new (NULL);
|
||||||
if (!link->arp)
|
if (!link->arp)
|
||||||
g_string_append (str, "NOARP,");
|
g_string_append (str_flags, "NOARP,");
|
||||||
if (link->up)
|
if (link->up)
|
||||||
g_string_append (str, "UP");
|
g_string_append (str_flags, "UP");
|
||||||
else
|
else
|
||||||
g_string_append (str, "DOWN");
|
g_string_append (str_flags, "DOWN");
|
||||||
if (link->connected)
|
if (link->connected)
|
||||||
g_string_append (str, ",LOWER_UP");
|
g_string_append (str_flags, ",LOWER_UP");
|
||||||
|
|
||||||
if (link->flags) {
|
if (link->flags) {
|
||||||
rtnl_link_flags2str (link->flags, str_flags, sizeof (str_flags));
|
char str_flags_buf[64];
|
||||||
g_string_append_printf (str, ";%s", str_flags);
|
|
||||||
|
rtnl_link_flags2str (link->flags, str_flags_buf, sizeof (str_flags_buf));
|
||||||
|
g_string_append_printf (str_flags, ";%s", str_flags_buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (link->master)
|
if (link->master)
|
||||||
@@ -2480,24 +2483,65 @@ nm_platform_link_to_string (const NMPlatformLink *link)
|
|||||||
else
|
else
|
||||||
str_vlan[0] = '\0';
|
str_vlan[0] = '\0';
|
||||||
|
|
||||||
driver = link->driver ? g_strdup_printf (" driver '%s'", link->driver) : NULL;
|
if (link->inet6_addr_gen_mode_inv) {
|
||||||
udi = link->udi ? g_strdup_printf (" udi '%s'", link->udi) : NULL;
|
switch ((guint8) ~link->inet6_addr_gen_mode_inv) {
|
||||||
|
case 0:
|
||||||
|
g_snprintf (str_addrmode, sizeof (str_addrmode), " addrgenmode eui64");
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
g_snprintf (str_addrmode, sizeof (str_addrmode), " addrgenmode none");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
g_snprintf (str_addrmode, sizeof (str_addrmode), " addrgenmode %d", (int) (guint8) (~link->inet6_addr_gen_mode_inv));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
str_addrmode[0] = '\0';
|
||||||
|
|
||||||
g_snprintf (_nm_platform_to_string_buffer, sizeof (_nm_platform_to_string_buffer), "%d: %s%s <%s> mtu %d%s "
|
if (link->addr.len)
|
||||||
"%s" /* link->type */
|
str_addr = nm_utils_hwaddr_ntoa (link->addr.data, MIN (link->addr.len, sizeof (link->addr.data)));
|
||||||
"%s%s" /* kind */
|
if (link->inet6_token.is_valid)
|
||||||
|
str_inet6_token = nm_utils_hwaddr_ntoa (&link->inet6_token.iid, sizeof (link->inet6_token.iid));
|
||||||
|
|
||||||
|
g_snprintf (_nm_platform_to_string_buffer, sizeof (_nm_platform_to_string_buffer),
|
||||||
|
"%d: " /* ifindex */
|
||||||
|
"%s" /* name */
|
||||||
|
"%s" /* parent */
|
||||||
|
" <%s>" /* flags */
|
||||||
|
" mtu %d"
|
||||||
|
"%s" /* master */
|
||||||
"%s" /* vlan */
|
"%s" /* vlan */
|
||||||
"%s%s",
|
" arp %u" /* arptype */
|
||||||
link->ifindex, link->name, parent, str->str,
|
"%s%s" /* link->type */
|
||||||
|
"%s%s" /* kind */
|
||||||
|
"%s" /* is-in-udev */
|
||||||
|
"%s" /* addr-gen-mode */
|
||||||
|
"%s%s" /* addr */
|
||||||
|
"%s%s" /* inet6_token */
|
||||||
|
"%s%s" /* driver */
|
||||||
|
"%s%s", /* udi */
|
||||||
|
link->ifindex,
|
||||||
|
link->name,
|
||||||
|
parent,
|
||||||
|
str_flags->str,
|
||||||
link->mtu, master,
|
link->mtu, master,
|
||||||
nm_link_type_to_string (link->type),
|
|
||||||
link->type != NM_LINK_TYPE_UNKNOWN && link->kind ? " kind " : "",
|
|
||||||
link->type != NM_LINK_TYPE_UNKNOWN && link->kind ? link->kind : "",
|
|
||||||
str_vlan,
|
str_vlan,
|
||||||
driver ? driver : "", udi ? udi : "");
|
link->arptype,
|
||||||
g_string_free (str, TRUE);
|
nm_link_type_to_string (link->type) ? " " : "",
|
||||||
g_free (driver);
|
str_if_set (nm_link_type_to_string (link->type), "???"),
|
||||||
g_free (udi);
|
link->kind ? (g_strcmp0 (nm_link_type_to_string (link->type), link->kind) ? "/" : "*") : "",
|
||||||
|
link->kind && g_strcmp0 (nm_link_type_to_string (link->type), link->kind) ? link->kind : "",
|
||||||
|
link->initialized ? " init" : " not-init",
|
||||||
|
str_addrmode,
|
||||||
|
str_addr ? " addr " : "",
|
||||||
|
str_addr ? str_addr : "",
|
||||||
|
str_inet6_token ? " inet6token " : "",
|
||||||
|
str_inet6_token ? str_inet6_token : "",
|
||||||
|
link->driver ? " driver " : "",
|
||||||
|
link->driver ? link->driver : "",
|
||||||
|
link->udi ? " udi " : "",
|
||||||
|
link->udi ? link->udi : "");
|
||||||
|
g_string_free (str_flags, TRUE);
|
||||||
return _nm_platform_to_string_buffer;
|
return _nm_platform_to_string_buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user