diff --git a/sbin/route/keywords b/sbin/route/keywords index f3fd1d8e0058..bb0968b8b7f4 100644 --- a/sbin/route/keywords +++ b/sbin/route/keywords @@ -1,6 +1,8 @@ # @(#)keywords 8.2 (Berkeley) 3/19/94 # $FreeBSD$ +4 +6 add atalk blackhole diff --git a/sbin/route/route.8 b/sbin/route/route.8 index ea41cb6c1dae..8906cf7a090a 100644 --- a/sbin/route/route.8 +++ b/sbin/route/route.8 @@ -62,6 +62,14 @@ programmatic interface discussed in .Pp The following options are available: .Bl -tag -width indent +.It Fl 4 +Specify +.Cm inet +address family as family hint for subcommands. +.It Fl 6 +Specify +.Cm inet +address family as family hint for subcommands. .It Fl d Run in debug-only mode, i.e., do not actually modify the routing table. .It Fl n @@ -138,10 +146,20 @@ When the address family may is specified by any of the .Fl xns , .Fl atalk , .Fl inet6 , +.Fl 6, +.Fl inet, or -.Fl inet +.Fl 4 modifiers, only routes having destinations with addresses in the -delineated family will be deleted. +delineated family will be deleted. Additionally, +.Fl 4 +or +.Fl 6 +can be used as aliases for +.Fl inet +and +.Fl inet6 +modifiers. When a .Fl fib option is specified, the operation will be applied to diff --git a/sbin/route/route.c b/sbin/route/route.c index 2a76932f68cc..d3be6b7dbeb3 100644 --- a/sbin/route/route.c +++ b/sbin/route/route.c @@ -154,7 +154,7 @@ usage(const char *cp) { if (cp != NULL) warnx("bad keyword: %s", cp); - errx(EX_USAGE, "usage: route [-dnqtv] command [[modifiers] args]"); + errx(EX_USAGE, "usage: route [-46dnqtv] command [[modifiers] args]"); /* NOTREACHED */ } @@ -167,8 +167,24 @@ main(int argc, char **argv) if (argc < 2) usage(NULL); - while ((ch = getopt(argc, argv, "nqdtv")) != -1) + while ((ch = getopt(argc, argv, "46nqdtv")) != -1) switch(ch) { + case '4': +#ifdef INET + af = AF_INET; + aflen = sizeof(struct sockaddr_in); +#else + errx(1, "IPv4 support is not compiled in"); +#endif + break; + case '6': +#ifdef INET6 + af = AF_INET6; + aflen = sizeof(struct sockaddr_in6); +#else + errx(1, "IPv6 support is not compiled in"); +#endif + break; case 'n': nflag = 1; break; @@ -382,11 +398,13 @@ flushroutes(int argc, char *argv[]) usage(*argv); switch (keyword(*argv + 1)) { #ifdef INET + case K_4: case K_INET: af = AF_INET; break; #endif #ifdef INET6 + case K_6: case K_INET6: af = AF_INET6; break; @@ -807,12 +825,14 @@ newroute(int argc, char **argv) aflen = sizeof(struct sockaddr_dl); break; #ifdef INET + case K_4: case K_INET: af = AF_INET; aflen = sizeof(struct sockaddr_in); break; #endif #ifdef INET6 + case K_6: case K_INET6: af = AF_INET6; aflen = sizeof(struct sockaddr_in6); diff --git a/usr.bin/netstat/main.c b/usr.bin/netstat/main.c index 1c7bc0091cc7..2509c4e65bcb 100644 --- a/usr.bin/netstat/main.c +++ b/usr.bin/netstat/main.c @@ -350,9 +350,23 @@ main(int argc, char *argv[]) af = AF_UNSPEC; - while ((ch = getopt(argc, argv, "AaBbdF:f:ghI:iLlM:mN:np:Qq:rSTsuWw:xz")) + while ((ch = getopt(argc, argv, "46AaBbdF:f:ghI:iLlM:mN:np:Qq:rSTsuWw:xz")) != -1) switch(ch) { + case '4': +#ifdef INET + af = AF_INET; +#else + errx(1, "IPv4 support is not compiled in"); +#endif + break; + case '6': +#ifdef INET6 + af = AF_INET6; +#else + errx(1, "IPv6 support is not compiled in"); +#endif + break; case 'A': Aflag = 1; break; @@ -836,21 +850,21 @@ static void usage(void) { (void)fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n", -"usage: netstat [-AaLnSTWx] [-f protocol_family | -p protocol]\n" +"usage: netstat [-46AaLnSTWx] [-f protocol_family | -p protocol]\n" " [-M core] [-N system]", -" netstat -i | -I interface [-abdhnW] [-f address_family]\n" +" netstat -i | -I interface [-46abdhnW] [-f address_family]\n" " [-M core] [-N system]", -" netstat -w wait [-I interface] [-d] [-M core] [-N system] [-q howmany]", -" netstat -s [-s] [-z] [-f protocol_family | -p protocol]\n" +" netstat -w wait [-I interface] [-46d] [-M core] [-N system] [-q howmany]", +" netstat -s [-s] [-46z] [-f protocol_family | -p protocol]\n" " [-M core] [-N system]", -" netstat -i | -I interface -s [-f protocol_family | -p protocol]\n" +" netstat -i | -I interface [-46s] [-f protocol_family | -p protocol]\n" " [-M core] [-N system]", " netstat -m [-M core] [-N system]", " netstat -B [-I interface]", -" netstat -r [-AanW] [-f address_family] [-M core] [-N system]", +" netstat -r [-46AanW] [-f address_family] [-M core] [-N system]", " netstat -rs [-s] [-M core] [-N system]", -" netstat -g [-W] [-f address_family] [-M core] [-N system]", -" netstat -gs [-s] [-f address_family] [-M core] [-N system]", +" netstat -g [-46W] [-f address_family] [-M core] [-N system]", +" netstat -gs [-46s] [-f address_family] [-M core] [-N system]", " netstat -Q"); exit(1); } diff --git a/usr.bin/netstat/netstat.1 b/usr.bin/netstat/netstat.1 index cd2ddedd3a7b..414c3158a73a 100644 --- a/usr.bin/netstat/netstat.1 +++ b/usr.bin/netstat/netstat.1 @@ -45,7 +45,7 @@ depending on the options for the information presented. .It Xo .Bk -words .Nm -.Op Fl AaLnSTWx +.Op Fl 46AaLnSTWx .Op Fl f Ar protocol_family | Fl p Ar protocol .Op Fl M Ar core .Op Fl N Ar system @@ -92,7 +92,7 @@ retransmits, out-of-order packets received, and zero-sized windows advertised. .Bk -words .Nm .Fl i | I Ar interface -.Op Fl abdhnW +.Op Fl 46abdhnW .Op Fl f Ar address_family .Ek .Xc @@ -153,7 +153,7 @@ is also present, show the number of dropped packets. .Bk -words .Nm .Fl s Op Fl s -.Op Fl z +.Op Fl 46z .Op Fl f Ar protocol_family | Fl p Ar protocol .Op Fl M Ar core .Op Fl N Ar system @@ -174,6 +174,7 @@ is also present, reset statistic counters after displaying them. .Bk -words .Nm .Fl i | I Ar interface Fl s +.Op Fl 46 .Op Fl f Ar protocol_family | Fl p Ar protocol .Op Fl M Ar core .Op Fl N Ar system @@ -214,7 +215,7 @@ states. .Bk -words .Nm .Fl r -.Op Fl AanW +.Op Fl 46AanW .Op Fl F Ar fibnum .Op Fl f Ar address_family .Op Fl M Ar core @@ -276,7 +277,7 @@ is repeated, counters with a value of zero are suppressed. .Bk -words .Nm .Fl g -.Op Fl W +.Op Fl 46W .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system @@ -295,7 +296,7 @@ address families. .Bk -words .Nm .Fl gs -.Op Fl s +.Op Fl 46s .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system @@ -324,6 +325,14 @@ The flags field shows available ISR handlers: .Pp Some options have the general meaning: .Bl -tag -width flag +.It Fl 4 +Is shorthand for +.Fl f +.Ar inet +.It Fl 6 +Is shorthand for +.Fl f +.Ar inet6 .It Fl f Ar address_family , Fl p Ar protocol Limit display to those records of the specified