ipaddress: print OPERSTATEs and NO-CARRIER

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
This commit is contained in:
Bernhard Reutner-Fischer 2010-05-25 09:55:42 +02:00
parent fc2bb8f04f
commit 49ee8393f4

View File

@ -54,6 +54,8 @@ static void print_link_flags(unsigned flags, unsigned mdown)
"MULTICAST\0""NOARP\0""UP\0""LOWER_UP\0";
bb_putchar('<');
if (flags & IFF_UP && !(flags & IFF_RUNNING))
printf("NO-CARRIER,");
flags &= ~IFF_RUNNING;
#if 0
_PF(ALLMULTI);
@ -162,6 +164,13 @@ static NOINLINE int print_linkinfo(const struct nlmsghdr *n)
printf("master %s ", ll_idx_n2a(*(int*)RTA_DATA(tb[IFLA_MASTER]), b1));
}
#endif
if (tb[IFLA_OPERSTATE]) {
static const char operstate_labels[] ALIGN1 =
"UNKNOWN\0""NOTPRESENT\0""DOWN\0""LOWERLAYERDOWN\0"
"TESTING\0""DORMANT\0""UP\0";
printf("state %s ", nth_string(operstate_labels,
*(__u8 *)RTA_DATA(tb[IFLA_OPERSTATE])));
}
if (G_filter.showqueue)
print_queuelen((char*)RTA_DATA(tb[IFLA_IFNAME]));