aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--networking/traceroute.c48
1 files changed, 25 insertions, 23 deletions
diff --git a/networking/traceroute.c b/networking/traceroute.c
index 1204c5e3a..ec3ac8b6f 100644
--- a/networking/traceroute.c
+++ b/networking/traceroute.c
@@ -243,7 +243,7 @@
//kbuild:lib-$(CONFIG_TRACEROUTE6) += traceroute.o
//usage:#define traceroute_trivial_usage
-//usage: "[-"IF_TRACEROUTE6("46")"FIlnrv] [-f 1ST_TTL] [-m MAXTTL] [-q PROBES] [-p PORT]\n"
+//usage: "[-"IF_TRACEROUTE6("46")IF_FEATURE_TRACEROUTE_USE_ICMP("I")"Flnrv] [-f 1ST_TTL] [-m MAXTTL] [-q PROBES] [-p PORT]\n"
//usage: " [-t TOS] [-w WAIT_SEC] [-s SRC_IP] [-i IFACE]\n"
//usage: " [-z PAUSE_MSEC] HOST [BYTES]"
//usage:#define traceroute_full_usage "\n\n"
@@ -271,15 +271,20 @@
//usage: "\n -s IP Source address"
//usage: "\n -i IFACE Source interface"
//usage: "\n -t N Type-of-service in probe packets (default 0)"
-//usage: "\n -w SEC Time to wait for a response (default 3)"
-//usage: "\n -g IP Loose source route gateway (8 max)"
+//usage: "\n -w SEC Wait for a response (default 3)"
+//usage: "\n -z MSEC Wait before each send"
//usage:
//usage:#define traceroute6_trivial_usage
-//usage: "[-nrv] [-m MAXTTL] [-q PROBES] [-p PORT]\n"
+//usage: "[-"IF_FEATURE_TRACEROUTE_USE_ICMP("I")"nrv] [-f 1ST_TTL] [-m MAXTTL] [-q PROBES] [-p PORT]\n"
//usage: " [-t TOS] [-w WAIT_SEC] [-s SRC_IP] [-i IFACE]\n"
-//usage: " HOST [BYTES]"
+//usage: " [-z PAUSE_MSEC] HOST [BYTES]"
//usage:#define traceroute6_full_usage "\n\n"
//usage: "Trace the route to HOST\n"
+////NOP? "\n -F Set don't fragment bit"
+//usage: IF_FEATURE_TRACEROUTE_USE_ICMP(
+//usage: "\n -I Use ICMP ECHO instead of UDP datagrams"
+//usage: )
+////NOP: "\n -l Display TTL value of the returned packet"
//Currently disabled (TRACEROUTE_SO_DEBUG==0)
////usage: "\n -d Set SO_DEBUG options to socket"
//usage: "\n -n Print numeric addresses"
@@ -287,6 +292,7 @@
//usage: IF_FEATURE_TRACEROUTE_VERBOSE(
//usage: "\n -v Verbose"
//usage: )
+//usage: "\n -f N First number of hops (default 1)"
//usage: "\n -m N Max number of hops"
//usage: "\n -q N Number of probes per hop (default 3)"
//usage: "\n -p N Base UDP port number used in probes"
@@ -294,7 +300,8 @@
//usage: "\n -s IP Source address"
//usage: "\n -i IFACE Source interface"
//usage: "\n -t N Type-of-service in probe packets (default 0)"
-//usage: "\n -w SEC Time wait for a response (default 3)"
+//usage: "\n -w SEC Wait for a response (default 3)"
+//usage: "\n -z MSEC Wait before each send"
#define TRACEROUTE_SO_DEBUG 0
@@ -334,7 +341,7 @@
#define OPT_STRING \
- "FIlnrdvxt:i:m:p:q:s:w:z:f:" \
+ "FIlnrdvt:i:m:p:q:s:w:z:f:" \
"4" IF_TRACEROUTE6("6")
enum {
OPT_DONT_FRAGMNT = (1 << 0), /* F */
@@ -344,18 +351,17 @@ enum {
OPT_BYPASS_ROUTE = (1 << 4), /* r */
OPT_DEBUG = (1 << 5), /* d */
OPT_VERBOSE = (1 << 6) * ENABLE_FEATURE_TRACEROUTE_VERBOSE, /* v */
- OPT_IP_CHKSUM = (1 << 7), /* x */
- OPT_TOS = (1 << 8), /* t */
- OPT_DEVICE = (1 << 9), /* i */
- OPT_MAX_TTL = (1 << 10), /* m */
- OPT_PORT = (1 << 11), /* p */
- OPT_NPROBES = (1 << 12), /* q */
- OPT_SOURCE = (1 << 13), /* s */
- OPT_WAITTIME = (1 << 14), /* w */
- OPT_PAUSE_MS = (1 << 15), /* z */
- OPT_FIRST_TTL = (1 << 16), /* f */
- OPT_IPV4 = (1 << 17), /* 4 */
- OPT_IPV6 = (1 << 18) * ENABLE_TRACEROUTE6, /* 6 */
+ OPT_TOS = (1 << 7), /* t */
+ OPT_DEVICE = (1 << 8), /* i */
+ OPT_MAX_TTL = (1 << 9), /* m */
+ OPT_PORT = (1 << 10), /* p */
+ OPT_NPROBES = (1 << 11), /* q */
+ OPT_SOURCE = (1 << 12), /* s */
+ OPT_WAITTIME = (1 << 13), /* w */
+ OPT_PAUSE_MS = (1 << 14), /* z */
+ OPT_FIRST_TTL = (1 << 15), /* f */
+ OPT_IPV4 = (1 << 16), /* 4 */
+ OPT_IPV6 = (1 << 17) * ENABLE_TRACEROUTE6, /* 6 */
};
#if ENABLE_FEATURE_TRACEROUTE_VERBOSE
# define verbose (option_mask32 & OPT_VERBOSE)
@@ -896,10 +902,6 @@ traceroute_init(int op, char **argv)
);
argv += optind;
-#if 0 /* IGNORED */
- if (op & OPT_IP_CHKSUM)
- bb_error_msg("warning: ip checksums disabled");
-#endif
if (op & OPT_MAX_TTL)
G.max_ttl = xatou_range(max_ttl_str, 1, 255);
if (op & OPT_PORT)