From 49ee8393f4d11ee3091dcad41ce36741c6a4b4f8 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Tue, 25 May 2010 09:55:42 +0200 Subject: ipaddress: print OPERSTATEs and NO-CARRIER Signed-off-by: Bernhard Reutner-Fischer --- networking/libiproute/ipaddress.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/networking/libiproute/ipaddress.c b/networking/libiproute/ipaddress.c index daea9dd..3f360f4 100644 --- a/networking/libiproute/ipaddress.c +++ b/networking/libiproute/ipaddress.c @@ -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])); -- cgit v1.1