From 1735e2c711c1838757eb8732c6eccf11b38854ef Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 19 Apr 2008 03:07:09 -0400 Subject: revert 621a2f376334f8097604b9fee5783e0f1141e66d for ifconfig output format to avoid breaking scripts this isn't a complete revert, just the display portions --- lib/interface.c | 262 ++++++++++++++++++++++++++------------------------------ 1 file changed, 121 insertions(+), 141 deletions(-) diff --git a/lib/interface.c b/lib/interface.c index 0e5e454..ead6a8d 100644 --- a/lib/interface.c +++ b/lib/interface.c @@ -691,70 +691,32 @@ void ife_print_long(struct interface *ptr) if (hw == NULL) hw = get_hwntype(-1); - sprintf(flags, "flags=%d<", ptr->flags); - /* DONT FORGET TO ADD THE FLAGS IN ife_print_short, too */ - if (ptr->flags == 0) - strcat(flags,">"); - if (ptr->flags & IFF_UP) - strcat(flags,_("UP,")); - if (ptr->flags & IFF_BROADCAST) - strcat(flags,_("BROADCAST,")); - if (ptr->flags & IFF_DEBUG) - strcat(flags,_("DEBUG,")); - if (ptr->flags & IFF_LOOPBACK) - strcat(flags,_("LOOPBACK,")); - if (ptr->flags & IFF_POINTOPOINT) - strcat(flags,_("POINTOPOINT,")); - if (ptr->flags & IFF_NOTRAILERS) - strcat(flags,_("NOTRAILERS,")); - if (ptr->flags & IFF_RUNNING) - strcat(flags,_("RUNNING,")); - if (ptr->flags & IFF_NOARP) - strcat(flags,_("NOARP,")); - if (ptr->flags & IFF_PROMISC) - strcat(flags,_("PROMISC,")); - if (ptr->flags & IFF_ALLMULTI) - strcat(flags,_("ALLMULTI,")); - if (ptr->flags & IFF_SLAVE) - strcat(flags,_("SLAVE,")); - if (ptr->flags & IFF_MASTER) - strcat(flags,_("MASTER,")); - if (ptr->flags & IFF_MULTICAST) - strcat(flags,_("MULTICAST,")); -#ifdef HAVE_DYNAMIC - if (ptr->flags & IFF_DYNAMIC) - strcat(flags,_("DYNAMIC,")); -#endif - /* DONT FORGET TO ADD THE FLAGS IN ife_print_short */ - if (flags[strlen(flags)-1] == ',') - flags[strlen(flags)-1] = '>'; - else - flags[strlen(flags)-1] = 0; - - - printf(_("%s: %s mtu %d metric %d"), - ptr->name, flags, ptr->mtu, ptr->metric ? ptr->metric : 1); -#ifdef SIOCSKEEPALIVE - if (ptr->outfill || ptr->keepalive) - printf(_(" outfill %d keepalive %d"), - ptr->outfill, ptr->keepalive); + printf(_("%-9.9s Link encap:%s "), ptr->name, hw->title); + /* For some hardware types (eg Ash, ATM) we don't print the + hardware address if it's null. */ + if (hw->print != NULL && (! (hw_null_address(hw, ptr->hwaddr) && + hw->suppress_null_addr))) + printf(_("HWaddr %s "), hw->print(ptr->hwaddr)); +#ifdef IFF_PORTSEL + if (ptr->flags & IFF_PORTSEL) { + printf(_("Media:%s"), if_port_text[ptr->map.port][0]); + if (ptr->flags & IFF_AUTOMEDIA) + printf(_("(auto)")); + } #endif printf("\n"); - - #if HAVE_AFINET if (ptr->has_ip) { - printf(_(" %s %s"), ap->name, + printf(_(" %s addr:%s "), ap->name, ap->sprint(&ptr->addr, 1)); - printf(_(" netmask %s"), ap->sprint(&ptr->netmask, 1)); - if (ptr->flags & IFF_BROADCAST) { - printf(_(" broadcast %s"), ap->sprint(&ptr->broadaddr, 1)); - } if (ptr->flags & IFF_POINTOPOINT) { - printf(_(" destination %s"), ap->sprint(&ptr->dstaddr, 1)); + printf(_(" P-t-P:%s "), ap->sprint(&ptr->dstaddr, 1)); } - printf("\n"); + if (ptr->flags & IFF_BROADCAST) { + printf(_(" Bcast:%s "), ap->sprint(&ptr->broadaddr, 1)); + } + printf(_(" Mask:%s\n"), ap->sprint(&ptr->netmask, 1)); } #endif @@ -771,30 +733,29 @@ void ife_print_long(struct interface *ptr) addr6p[0], addr6p[1], addr6p[2], addr6p[3], addr6p[4], addr6p[5], addr6p[6], addr6p[7]); inet6_aftype.input(1, addr6, (struct sockaddr *) &sap); - printf(_(" %s %s prefixlen %d"), - inet6_aftype.name, - inet6_aftype.sprint((struct sockaddr *) &sap, 1), - plen); - printf(_(" scopeid 0x%x"), scope); - - flags[0] = '<'; flags[1] = 0; - if (scope & IPV6_ADDR_COMPATv4) { - strcat(flags, _("compat,")); - scope -= IPV6_ADDR_COMPATv4; + printf(_(" inet6 addr: %s/%d"), + inet6_aftype.sprint((struct sockaddr *) &sap, 1), plen); + printf(_(" Scope:")); + switch (scope) { + case 0: + printf(_("Global")); + break; + case IPV6_ADDR_LINKLOCAL: + printf(_("Link")); + break; + case IPV6_ADDR_SITELOCAL: + printf(_("Site")); + break; + case IPV6_ADDR_COMPATv4: + printf(_("Compat")); + break; + case IPV6_ADDR_LOOPBACK: + printf(_("Host")); + break; + default: + printf(_("Unknown")); } - if (scope == 0) - strcat(flags, _("global,")); - if (scope & IPV6_ADDR_LINKLOCAL) - strcat(flags, _("link,")); - if (scope & IPV6_ADDR_SITELOCAL) - strcat(flags, _("site,")); - if (scope & IPV6_ADDR_LOOPBACK) - strcat(flags, _("host,")); - if (flags[strlen(flags)-1] == ',') - flags[strlen(flags)-1] = '>'; - else - flags[strlen(flags)-1] = 0; - printf("%s\n", flags); + printf("\n"); } } fclose(f); @@ -807,17 +768,17 @@ void ife_print_long(struct interface *ptr) if (ipxtype != NULL) { if (ptr->has_ipx_bb) - printf(_(" %s Ethernet-II %s\n"), - ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_bb, 1)); + printf(_(" IPX/Ethernet II addr:%s\n"), + ipxtype->sprint(&ptr->ipxaddr_bb, 1)); if (ptr->has_ipx_sn) - printf(_(" %s Ethernet-SNAP %s\n"), - ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_sn, 1)); + printf(_(" IPX/Ethernet SNAP addr:%s\n"), + ipxtype->sprint(&ptr->ipxaddr_sn, 1)); if (ptr->has_ipx_e2) - printf(_(" %s Ethernet802.2 %s\n"), - ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_e2, 1)); + printf(_(" IPX/Ethernet 802.2 addr:%s\n"), + ipxtype->sprint(&ptr->ipxaddr_e2, 1)); if (ptr->has_ipx_e3) - printf(_(" %s Ethernet802.3 %s\n"), - ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_e3, 1)); + printf(_(" IPX/Ethernet 802.3 addr:%s\n"), + ipxtype->sprint(&ptr->ipxaddr_e3, 1)); } #endif @@ -826,7 +787,7 @@ void ife_print_long(struct interface *ptr) ddptype = get_afntype(AF_APPLETALK); if (ddptype != NULL) { if (ptr->has_ddp) - printf(_(" %s %s\n"), ddptype->name, ddptype->sprint(&ptr->ddpaddr, 1)); + printf(_(" EtherTalk Phase 2 addr:%s\n"), ddptype->sprint(&ptr->ddpaddr, 1)); } #endif @@ -835,30 +796,53 @@ void ife_print_long(struct interface *ptr) ectype = get_afntype(AF_ECONET); if (ectype != NULL) { if (ptr->has_econet) - printf(_(" %s %s\n"), ectype->name, ectype->sprint(&ptr->ecaddr, 1)); + printf(_(" econet addr:%s\n"), ectype->sprint(&ptr->ecaddr, 1)); } #endif - /* For some hardware types (eg Ash, ATM) we don't print the - hardware address if it's null. */ - if (hw->print != NULL && (! (hw_null_address(hw, ptr->hwaddr) && - hw->suppress_null_addr))) - printf(_(" %s %s"), hw->name, hw->print(ptr->hwaddr)); - else - printf(_(" %s"), hw->name); - if (ptr->tx_queue_len != -1) - printf(_(" txqueuelen %d"), ptr->tx_queue_len); - printf(" (%s)\n", hw->title); - -#ifdef IFF_PORTSEL - if (ptr->flags & IFF_PORTSEL) { - printf(_(" media %s"), if_port_text[ptr->map.port][0]); - if (ptr->flags & IFF_AUTOMEDIA) - printf(_("autoselect")); - printf("\n"); - } + printf(" "); + /* DONT FORGET TO ADD THE FLAGS IN ife_print_short, too */ + if (ptr->flags == 0) + printf(_("[NO FLAGS] ")); + if (ptr->flags & IFF_UP) + printf(_("UP ")); + if (ptr->flags & IFF_BROADCAST) + printf(_("BROADCAST ")); + if (ptr->flags & IFF_DEBUG) + printf(_("DEBUG ")); + if (ptr->flags & IFF_LOOPBACK) + printf(_("LOOPBACK ")); + if (ptr->flags & IFF_POINTOPOINT) + printf(_("POINTOPOINT ")); + if (ptr->flags & IFF_NOTRAILERS) + printf(_("NOTRAILERS ")); + if (ptr->flags & IFF_RUNNING) + printf(_("RUNNING ")); + if (ptr->flags & IFF_NOARP) + printf(_("NOARP ")); + if (ptr->flags & IFF_PROMISC) + printf(_("PROMISC ")); + if (ptr->flags & IFF_ALLMULTI) + printf(_("ALLMULTI ")); + if (ptr->flags & IFF_SLAVE) + printf(_("SLAVE ")); + if (ptr->flags & IFF_MASTER) + printf(_("MASTER ")); + if (ptr->flags & IFF_MULTICAST) + printf(_("MULTICAST ")); +#ifdef HAVE_DYNAMIC + if (ptr->flags & IFF_DYNAMIC) + printf(_("DYNAMIC ")); #endif - + /* DONT FORGET TO ADD THE FLAGS IN ife_print_short */ + printf(_(" MTU:%d Metric:%d"), + ptr->mtu, ptr->metric ? ptr->metric : 1); +#ifdef SIOCSKEEPALIVE + if (ptr->outfill || ptr->keepalive) + printf(_(" Outfill:%d Keepalive:%d"), + ptr->outfill, ptr->keepalive); +#endif + printf("\n"); /* If needed, display the interface statistics. */ @@ -867,6 +851,15 @@ void ife_print_long(struct interface *ptr) * not for the aliases, although strictly speaking they're shared * by all addresses. */ + printf(" "); + + printf(_("RX packets:%llu errors:%lu dropped:%lu overruns:%lu frame:%lu\n"), + ptr->stats.rx_packets, ptr->stats.rx_errors, + ptr->stats.rx_dropped, ptr->stats.rx_fifo_errors, + ptr->stats.rx_frame_errors); + if (can_compress) + printf(_(" compressed:%lu\n"), ptr->stats.rx_compressed); + rx = ptr->stats.rx_bytes; short_rx = rx * 10; if (rx > 1125899906842624ull) { @@ -904,50 +897,37 @@ void ife_print_long(struct interface *ptr) Text = "KiB"; } - printf(" "); - printf(_("RX packets %llu bytes %llu (%lu.%lu %s)\n"), - ptr->stats.rx_packets, - rx, (unsigned long)(short_rx / 10), - (unsigned long)(short_rx % 10), Rext); - if (can_compress) { - printf(" "); - printf(_("RX compressed:%lu\n"), ptr->stats.rx_compressed); - } - printf(" "); - printf(_("RX errors %lu dropped %lu overruns %lu frame %lu\n"), - ptr->stats.rx_errors, ptr->stats.rx_dropped, - ptr->stats.rx_fifo_errors, ptr->stats.rx_frame_errors); - - - printf(" "); - printf(_("TX packets %llu bytes %llu (%lu.%lu %s)\n"), - ptr->stats.tx_packets, - tx, (unsigned long)(short_tx / 10), - (unsigned long)(short_tx % 10), Text); - if (can_compress) { - printf(" "); - printf(_("TX compressed %lu\n"), ptr->stats.tx_compressed); - } - printf(" "); - printf(_("TX errors %lu dropped %lu overruns %lu carrier %lu collisions %lu\n"), - ptr->stats.tx_errors, + printf(" "); + printf(_("TX packets:%llu errors:%lu dropped:%lu overruns:%lu carrier:%lu\n"), + ptr->stats.tx_packets, ptr->stats.tx_errors, ptr->stats.tx_dropped, ptr->stats.tx_fifo_errors, - ptr->stats.tx_carrier_errors, ptr->stats.collisions); + ptr->stats.tx_carrier_errors); + printf(_(" collisions:%lu "), ptr->stats.collisions); + if (can_compress) + printf(_("compressed:%lu "), ptr->stats.tx_compressed); + if (ptr->tx_queue_len != -1) + printf(_("txqueuelen:%d "), ptr->tx_queue_len); + printf("\n "); + printf(_("RX bytes:%llu (%lu.%lu %s) TX bytes:%llu (%lu.%lu %s)\n"), + rx, (unsigned long)(short_rx / 10), + (unsigned long)(short_rx % 10), Rext, + tx, (unsigned long)(short_tx / 10), + (unsigned long)(short_tx % 10), Text); } if ((ptr->map.irq || ptr->map.mem_start || ptr->map.dma || ptr->map.base_addr >= 0x100)) { - printf(" device "); + printf(" "); if (ptr->map.irq) - printf(_("interrupt %d "), ptr->map.irq); + printf(_("Interrupt:%d "), ptr->map.irq); if (ptr->map.base_addr >= 0x100) /* Only print devices using it for I/O maps */ - printf(_("base 0x%x "), ptr->map.base_addr); + printf(_("Base address:0x%x "), ptr->map.base_addr); if (ptr->map.mem_start) { - printf(_("memory 0x%lx-%lx "), ptr->map.mem_start, ptr->map.mem_end); + printf(_("Memory:%lx-%lx "), ptr->map.mem_start, ptr->map.mem_end); } if (ptr->map.dma) - printf(_(" dma 0x%x"), ptr->map.dma); + printf(_("DMA chan:%x "), ptr->map.dma); printf("\n"); } printf("\n"); -- cgit v1.2.3-65-gdbad