Implement -R support, similar to ping(8)'s -A.
ping(8)'s -a was mapped to -e, but -E was already taken in ping6 (old option) so rename -e to -r. Now: ping -a => ping6 -r ping -A => ping6 -R MFC after: 2 days
This commit is contained in:
parent
248e5e18af
commit
865bdc6208
@ -29,7 +29,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd August 26, 2008
|
||||
.Dd August 27, 2008
|
||||
.Dt PING6 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -40,7 +40,7 @@ packets to network hosts
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.\" without ipsec, or new ipsec
|
||||
.Op Fl defHmnNoqtvwW
|
||||
.Op Fl dfHmnNoqrRtvwW
|
||||
.\" old ipsec
|
||||
.\" .Op Fl AdEfmnNqRtvwW
|
||||
.Bk -words
|
||||
@ -148,12 +148,6 @@ option on the socket being used.
|
||||
.\" .It Fl E
|
||||
.\" Enables transport-mode IPsec encapsulated security payload
|
||||
.\" (experimental).
|
||||
.It Fl e
|
||||
Audible.
|
||||
Include a bell
|
||||
.Tn ( ASCII
|
||||
0x07)
|
||||
character in the output when any packet is received.
|
||||
.It Fl f
|
||||
Flood ping.
|
||||
Outputs packets as fast as they come back or one hundred times per second,
|
||||
@ -250,6 +244,22 @@ specifies IPsec policy to be used for the probe.
|
||||
Quiet output.
|
||||
Nothing is displayed except the summary lines at startup time and
|
||||
when finished.
|
||||
.It Fl r
|
||||
Audible.
|
||||
Include a bell
|
||||
.Tn ( ASCII
|
||||
0x07)
|
||||
character in the output when any packet is received.
|
||||
.It Fl R
|
||||
Audible.
|
||||
Output a bell
|
||||
.Tn ( ASCII
|
||||
0x07)
|
||||
character when no packet is received before the next packet
|
||||
is transmitted.
|
||||
To cater for round-trip times that are longer than the interval
|
||||
between transmissions, further missing packets cause a bell only
|
||||
if the maximum number of unreceived packets has increased.
|
||||
.It Fl S Ar sourceaddr
|
||||
Specifies the source address of request packets.
|
||||
The source address must be one of the unicast addresses of the sending node,
|
||||
|
@ -190,6 +190,7 @@ struct tv32 {
|
||||
#define F_NOMINMTU 0x100000
|
||||
#define F_ONCE 0x200000
|
||||
#define F_AUDIBLE 0x400000
|
||||
#define F_MISSED 0x800000
|
||||
#define F_NOUSERDATA (F_NODEADDR | F_FQDN | F_FQDNOLD | F_SUPTYPES)
|
||||
u_int options;
|
||||
|
||||
@ -225,6 +226,7 @@ int hoplimit = -1; /* hoplimit */
|
||||
int pathmtu = 0; /* path MTU for the destination. 0 = unspec. */
|
||||
|
||||
/* counters */
|
||||
long nmissedmax; /* max value of ntransmitted - nreceived - 1 */
|
||||
long npackets; /* max packets to transmit */
|
||||
long nreceived; /* # of packets we got back */
|
||||
long nrepeats; /* number of duplicates */
|
||||
@ -347,7 +349,7 @@ main(argc, argv)
|
||||
#endif /*IPSEC_POLICY_IPSEC*/
|
||||
#endif
|
||||
while ((ch = getopt(argc, argv,
|
||||
"a:b:c:defHg:h:I:i:l:mnNop:qS:s:tvwW" ADDOPTS)) != -1) {
|
||||
"a:b:c:dfHg:h:I:i:l:mnNop:qrRS:s:tvwW" ADDOPTS)) != -1) {
|
||||
#undef ADDOPTS
|
||||
switch (ch) {
|
||||
case 'a':
|
||||
@ -416,9 +418,6 @@ main(argc, argv)
|
||||
case 'd':
|
||||
options |= F_SO_DEBUG;
|
||||
break;
|
||||
case 'e':
|
||||
options |= F_AUDIBLE;
|
||||
break;
|
||||
case 'f':
|
||||
if (getuid()) {
|
||||
errno = EPERM;
|
||||
@ -501,6 +500,12 @@ main(argc, argv)
|
||||
case 'q':
|
||||
options |= F_QUIET;
|
||||
break;
|
||||
case 'r':
|
||||
options |= F_AUDIBLE;
|
||||
break;
|
||||
case 'R':
|
||||
options |= F_MISSED;
|
||||
break;
|
||||
case 'S':
|
||||
memset(&hints, 0, sizeof(struct addrinfo));
|
||||
hints.ai_flags = AI_NUMERICHOST; /* allow hostname? */
|
||||
@ -1179,6 +1184,11 @@ main(argc, argv)
|
||||
if (((options & F_ONCE) != 0 && nreceived > 0) ||
|
||||
(npackets > 0 && nreceived >= npackets))
|
||||
break;
|
||||
if (ntransmitted - nreceived - 1 > nmissedmax) {
|
||||
nmissedmax = ntransmitted - nreceived - 1;
|
||||
if (options & F_MISSED)
|
||||
(void)write(STDOUT_FILENO, &BBELL, 1);
|
||||
}
|
||||
}
|
||||
summary();
|
||||
exit(nreceived == 0 ? 2 : 0);
|
||||
@ -2770,7 +2780,7 @@ usage()
|
||||
"A"
|
||||
#endif
|
||||
"usage: ping6 [-"
|
||||
"de"
|
||||
"d"
|
||||
#if defined(IPSEC) && !defined(IPSEC_POLICY_IPSEC)
|
||||
"E"
|
||||
#endif
|
||||
@ -2778,7 +2788,7 @@ usage()
|
||||
#ifdef IPV6_USE_MIN_MTU
|
||||
"m"
|
||||
#endif
|
||||
"nNoqtvwW] "
|
||||
"nNoqrRtvwW] "
|
||||
"[-a addrtype] [-b bufsiz] [-c count] [-g gateway]\n"
|
||||
" [-h hoplimit] [-I interface] [-i wait] [-l preload]"
|
||||
#if defined(IPSEC) && defined(IPSEC_POLICY_IPSEC)
|
||||
|
Loading…
x
Reference in New Issue
Block a user