aboutsummaryrefslogtreecommitdiff
path: root/networking/netstat.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/netstat.c')
-rw-r--r--networking/netstat.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/networking/netstat.c b/networking/netstat.c
index 28ae9bc32..b083b0dd4 100644
--- a/networking/netstat.c
+++ b/networking/netstat.c
@@ -33,6 +33,10 @@
33#include "inet_common.h" 33#include "inet_common.h"
34#include "busybox.h" 34#include "busybox.h"
35 35
36#ifdef CONFIG_ROUTE
37extern void displayroutes(int noresolve, int netstatfmt);
38#endif
39
36#define NETSTAT_CONNECTED 0x01 40#define NETSTAT_CONNECTED 0x01
37#define NETSTAT_LISTENING 0x02 41#define NETSTAT_LISTENING 0x02
38#define NETSTAT_NUMERIC 0x04 42#define NETSTAT_NUMERIC 0x04
@@ -462,7 +466,8 @@ int netstat_main(int argc, char **argv)
462{ 466{
463 int opt; 467 int opt;
464 int new_flags=0; 468 int new_flags=0;
465 while ((opt = getopt(argc, argv, "lantuwx")) != -1) 469 int showroute = 0, extended = 0;
470 while ((opt = getopt(argc, argv, "laenrtuwx")) != -1)
466 switch (opt) { 471 switch (opt) {
467 case 'l': 472 case 'l':
468 flags &= ~NETSTAT_CONNECTED; 473 flags &= ~NETSTAT_CONNECTED;
@@ -474,6 +479,12 @@ int netstat_main(int argc, char **argv)
474 case 'n': 479 case 'n':
475 flags |= NETSTAT_NUMERIC; 480 flags |= NETSTAT_NUMERIC;
476 break; 481 break;
482 case 'r':
483 showroute = 1;
484 break;
485 case 'e':
486 extended = 1;
487 break;
477 case 't': 488 case 't':
478 new_flags |= NETSTAT_TCP; 489 new_flags |= NETSTAT_TCP;
479 break; 490 break;
@@ -489,6 +500,16 @@ int netstat_main(int argc, char **argv)
489 default: 500 default:
490 show_usage(); 501 show_usage();
491 } 502 }
503 if ( showroute ) {
504#ifdef CONFIG_ROUTE
505 displayroutes ( flags & NETSTAT_NUMERIC, !extended );
506 return 0;
507#else
508 printf( "-r (display routing table) is not compiled in.\n" );
509 return 1;
510#endif
511 }
512
492 if (new_flags) { 513 if (new_flags) {
493 flags &= ~(NETSTAT_TCP|NETSTAT_UDP|NETSTAT_RAW|NETSTAT_UNIX); 514 flags &= ~(NETSTAT_TCP|NETSTAT_UDP|NETSTAT_RAW|NETSTAT_UNIX);
494 flags |= new_flags; 515 flags |= new_flags;