Changes extracted from diff.gz, not present in upstream's CVS.
Index: net-tools/lib/ec_hw.c
===================================================================
--- net-tools.orig/lib/ec_hw.c
+++ net-tools/lib/ec_hw.c
@@ -16,6 +16,8 @@
#if HAVE_HWEC
+#include <stddef.h>
+
#include <net/if_arp.h>
#include "net-support.h"
Index: net-tools/lib/fddi.c
===================================================================
--- net-tools.orig/lib/fddi.c
+++ net-tools/lib/fddi.c
@@ -26,6 +26,7 @@
#error "No FDDI Support in your current Kernelsource Tree."
#error "Disable HW Type FDDI"
#endif
+#include <linux/types.h>
#if __GLIBC__ >= 2
#include <netinet/if_fddi.h>
#else
Index: net-tools/lib/interface.c
===================================================================
--- net-tools.orig/lib/interface.c
+++ net-tools/lib/interface.c
@@ -594,7 +594,7 @@ int do_if_print(struct interface *ife, v
void ife_print_short(struct interface *ptr)
{
- printf("%-5.5s ", ptr->name);
+ printf("%-9s ", ptr->name);
printf("%5d %-2d ", ptr->mtu, ptr->metric);
/* If needed, display the interface statistics. */
if (ptr->statistics_valid) {
@@ -653,8 +653,7 @@ void ife_print_long(struct interface *pt
unsigned long long rx, tx, short_rx, short_tx;
const char *Rext = "B";
const char *Text = "B";
- static char flags[200];
-
+
#if HAVE_AFIPX
static struct aftype *ipxtype = NULL;
#endif
@@ -686,70 +685,32 @@ void ife_print_long(struct interface *pt
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(_("%-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
@@ -757,7 +718,7 @@ void ife_print_long(struct interface *pt
/* FIXME: should be integrated into interface.c. */
if ((f = fopen(_PATH_PROCNET_IFINET6, "r")) != NULL) {
- while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %02x %02x %02x %02x %20s\n",
+ while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %08x %02x %02x %02x %20s\n",
addr6p[0], addr6p[1], addr6p[2], addr6p[3],
addr6p[4], addr6p[5], addr6p[6], addr6p[7],
&if_idx, &plen, &scope, &dad_status, devname) != EOF) {
@@ -766,30 +727,29 @@ void ife_print_long(struct interface *pt
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);
@@ -802,17 +762,17 @@ void ife_print_long(struct interface *pt
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
@@ -821,7 +781,7 @@ void ife_print_long(struct interface *pt
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
@@ -830,30 +790,53 @@ void ife_print_long(struct interface *pt
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. */
@@ -862,8 +845,19 @@ void ife_print_long(struct interface *pt
* 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;
+ tx = ptr->stats.tx_bytes;
short_rx = rx * 10;
+ short_tx = tx * 10;
if (rx > 1125899906842624ull) {
short_rx /= 1125899906842624ull;
Rext = "PiB";
@@ -880,8 +874,6 @@ void ife_print_long(struct interface *pt
short_rx /= 1024;
Rext = "KiB";
}
- tx = ptr->stats.tx_bytes;
- short_tx = tx * 10;
if (tx > 1125899906842624ull) {
short_tx /= 1125899906842624ull;
Text = "PiB";
@@ -899,50 +891,37 @@ void ife_print_long(struct interface *pt
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");