-H n Set the IP TTL value (Time To Live hops)
-i n interval between sending ping packets (in millisec) (default 25)
${I_HELP} -l loop sending pings forever
- -m ping multiple interfaces on target host
+ -m use all IPs of provided hostnames (e.g. IPv4 and IPv6), use with -A
-M set the Don't Fragment flag
-n show targets by name (-d is equivalent)
-N output compatible for netdata (-l -Q are required)
return;
}
- // NOTE: we could/should loop with res on all addresses like this:
- // for (res = res0; res; res = res->ai_next) {
- // We don't do it yet, however, because is is an incompatible change
- // (need to implement a separate option for this)
-
- for (res = res0; res; res = 0) {
+ /* NOTE: we could/should loop with res on all addresses like this:
+ * for (res = res0; res; res = res->ai_next) {
+ * We don't do it yet, however, because is is an incompatible change
+ * (need to implement a separate option for this)
+ */
+ for (res = res0; res; res = res->ai_next) {
/* name_flag: addr -> name lookup requested) */
if(!name_flag) {
printname = name;
sizeof(namebuf)/sizeof(char), NULL, 0, 0);
if (ret) {
if(!quiet_flag) {
- print_warning("%s: %s\n", name, gai_strerror(ret_ga));
+ ret = getnameinfo(res->ai_addr, res->ai_addrlen, namebuf,
+ sizeof(namebuf)/sizeof(char), NULL, 0, 0);
+ print_warning("%s: can't reverse-lookup (%s)\n", name, gai_strerror(ret_ga));
}
- num_noaddress++;
- return;
+ printname = name;
+ }
+ else {
+ printname = namebuf;
}
- printname = namebuf;
}
/* addr_flag: name -> addr lookup requested */
sizeof(addrbuf)/sizeof(char), NULL, 0, NI_NUMERICHOST);
if (ret) {
if(!quiet_flag) {
- print_warning("%s: %s\n", name, gai_strerror(ret_ga));
+ print_warning("%s: can't forward-lookup address (%s)\n", name, gai_strerror(ret_ga));
}
- num_noaddress++;
- return;
+ continue;
}
if(name_flag) {
add_addr(name, printname, res->ai_addr, res->ai_addrlen);
}
- return;
+ if(!multif_flag) {
+ break;
+ }
}
} /* add_name() */
fprintf(out, " -I if bind to a particular interface\n");
#endif
fprintf(out, " -l loop sending pings forever\n" );
- fprintf(out, " -m ping multiple interfaces on target host\n" );
+ fprintf(out, " -m use all IPs of provided hostnames (e.g. IPv4 and IPv6), use with -A\n" );
fprintf(out, " -M set the Don't Fragment flag\n" );
fprintf(out, " -n show targets by name (-d is equivalent)\n" );
fprintf(out, " -N output compatible for netdata (-l -Q are required)\n" );