Code

noping: Add the "-g" option.
[liboping.git] / src / mans / oping.pod
index 90d6b02af50da94f79dd4aadd2fb3e05e6fbe509..8ed738e5d1e92d4f784a7ec6628fbf5f834edebd 100644 (file)
@@ -66,10 +66,18 @@ Set the outgoing network device to use.
 Instead of specifying hostnames on the command line, read them from
 I<filename>. If I<filename> is B<->, read from C<STDIN>.
 
-If the real user ID (as returned by L<getuid(2)>) and the effective user ID (as
+If I<oping> is installed with the SetUID-bit, it will set the effective UID to
+the real UID before opening the file. In the special (but common) case that
+I<oping> is owned by the super-user (UIDE<nbsp>0), this means that privileges
+are temporarily dropped before opening the file, in order to prevent users from
+reading arbitrary files on the system.
+
+If your system doesn't provide I<saved set-user IDs> (this was an optional
+feature before POSIXE<nbsp>2001), the behavior is different because it is not
+possible to I<temporarily> drop privileges. The alternative behavior is: If the
+real user ID (as returned by L<getuid(2)>) and the effective user ID (as
 returned by L<geteuid(2)>) differ, the only argument allowed for this option is
-"-" (i.E<nbsp>e. standard input). This is meant to avoid security issues when
-I<oping> is installed with the SUID-bit.
+"-" (i.e. standard input).
 
 =item B<-Q> I<qos>
 
@@ -78,17 +86,28 @@ somewhat tricky option, since the meaning of the bits in the IPv4 header has
 been revised several times.
 
 The currently recommended method is I<Differentiated Services> which is used in
-IPv6 headers as well. There are shortcuts for 13E<nbsp>predefined
+IPv6 headers as well. There are shortcuts for various predefined
 I<per-hop behaviors> (PHBs):
 
 =over 4
 
+=item B<be>
+
+Selects the I<Best Effort> behavior. This is the default behavior.
+
 =item B<ef>
 
 Selects the I<Expedited Forwarding> (EF) per-hop behavior, as defined in
 I<RFCE<nbsp>3246>. This PHB is characterised by low delay, low loss and low
 jitter, i.e. high priority traffic.
 
+=item B<va>
+
+Selects the I<Voice Admitted> (VA) per-hop behavior, as defined in
+I<RFCE<nbsp>5865>. This traffic class is meant for I<Voice over IP> (VoIP)
+traffic which uses I<Call Admission Control> (CAC) for reserving network
+capacity.
+
 =item  B<af>I<c>I<p>
 
 Selects one of 12E<nbsp>differentiated services code points (DSCPs), which are
@@ -98,6 +117,13 @@ betweenE<nbsp>1 throughE<nbsp>3, for example "af13", "af22" and "af41". In each
 class, the lower priority number takes precedence over the higher priority
 number.
 
+=item B<cs>I<n>
+
+Selects one of the eight I<Class Selector> PHBs. I<n> is a number
+betweenE<nbsp>0 throughE<nbsp>7. The class selectors have been defined to be
+compatible to the I<Precedence> field in the IPv4 header as defined in
+I<RFCE<nbsp>791>. Please note that "cs0" is synonymous to "be".
+
 =back
 
 The old definition of the same bits in the IPv4 header was as I<Type of
@@ -130,6 +156,81 @@ decimal number (0-255), a hexadecimal number (0x00-0xff) or an octal number
 (00-0377) using the usual "0x" and "0" prefixes for hexadecimal and octal
 respectively.
 
+The printed lines will contain information about the QoS field of received
+packets if either a non-standard QoS setting was used on outgoing packets or if
+the QoS byte of incoming packets is not zero. In other words, the QoS
+information is omitted if both, the outgoing and the incoming QoS bytes are
+zero. The received byte is always interpreted as
+I<Differentiated Services Code Point> (DSCP) and
+I<Explicit Congestion Notification> (ECN), even if the deprecated
+I<Type of Service> (ToS) aliases were used to specify the bits of outgoing
+packets.
+
+=item B<-u>|B<-U>
+
+I<noping only> B<-u> forces UTF-8 output, B<-U> disables UTF-8 output. If
+neither is given, the codeset is automatically determined from the locale.
+
+=item B<-g> B<none>|B<prettyping>|B<boxplot>
+
+I<noping only> Selects the graph to display.
+
+=over 4
+
+=item B<none>
+
+Do not shot a graph.
+
+=item B<prettyping>
+
+Show a graph with time on the x-axis in a round-robin fashion, i.e. continue on
+the left if the right edge is reached. The y-axis shows the round-trip time.
+This is the default.
+
+=item B<boxplot>
+
+Shows a box plot where the x-axis, i.e. the width of the window, is the
+round-trip time. The entire width of the window it the ping interval, set with
+the B<-i> option.
+
+The box is sized so it contains 50% of the replies. The vertical line shows the
+median. The whiskers are sized to contain 95% of the replies -- 2.5% below the
+whiskers and 2.5% above.
+
+=back
+
+=item B<-P> I<percent>
+
+Configures the latency percentile to report. I<percent> must be a number
+between zero and 100, exclusively in both cases. In general, defaults to B<95>.
+If B<-c> is given and a number less than 20, this would be the same as the
+maximum. In this case the default is chosen so that it excludes the maximum,
+e.g. if B<-cE<nbsp>5> is given, the default is I<80>.
+
+The calculated percentile has roughly millisecond precision. If precision is of
+importance, read on for a more detailed explanation. In order to calculate the
+percentile without keeping all replies in memory, I<oping> divides the
+I<interval> (the B<-i> option) in 1000 "buckets". Each bucket counts the number
+of packets received in the represented time. That means that the precision
+decreases if the interval is increased, because each bucket represents a larger
+(fraction of the) response time. The code looks for the first bucket
+representing at least I<percent> responses and returns the upper-bound latency
+represented by that bucket. Since the represented percentage may be larger than
+the configured percentile, this algorithm I<overestimes> the actual percentile
+by at most 1000th of I<interval>.
+
+=item B<-Z> I<percent>
+
+If any hosts have a drop rate higher than I<percent>, where I<percent> is a
+number between zero and 100 inclusively, exit with a non-zero exit status.
+Since it is not possible to have a higher drop rate than 100%, passing this
+limit will effectively disable the feature (the default). Setting the option to
+zero means that the exit status will only be zero if I<all> replies for I<all>
+hosts have been received.
+
+The exit status will indicate the number of hosts with more than I<percent>
+packets lost, up to a number of 255 failing hosts.
+
 =back
 
 =head1 COLORS
@@ -154,7 +255,7 @@ L<ping(8)>, L<http://www.fping.com/>, L<liboping(3)>
 
 =head1 AUTHOR
 
-liboping is written by Florian octo Forster E<lt>octo at verplant.orgE<gt>.
+liboping is written by Florian "octo" Forster E<lt>ff at octo.itE<gt>.
 Its homepage can be found at L<http://verplant.org/liboping/>.
 
-(c) 2005-2010 by Florian octo Forster.
+Copyright (c) 2005-2011 by Florian "octo" Forster.