Ditch the sysvinit stuff
[profile/ivi/iputils.git] / doc / ping.sgml
1 <refentry id="ping">
2
3 <refmeta>
4 <refentrytitle>ping</refentrytitle>
5 <manvolnum>8</manvolnum>
6 <refmiscinfo>iputils-&snapshot;</refmiscinfo>
7 </refmeta>
8
9 <refnamediv>
10 <refname>ping, ping6</refname>
11 <refpurpose>send ICMP ECHO_REQUEST to network hosts</refpurpose>
12 </refnamediv>
13
14 <refsynopsisdiv>
15 <cmdsynopsis>
16 <command>ping</command>
17 <arg choice="opt"><option>-LRUbdfnqrvVaAB</option></arg>
18 <arg choice="opt">-c <replaceable/count/</arg>
19 <arg choice="opt">-m <replaceable/mark/</arg>
20 <arg choice="opt">-i <replaceable/interval/</arg>
21 <arg choice="opt">-l <replaceable/preload/</arg>
22 <arg choice="opt">-p <replaceable/pattern/</arg>
23 <arg choice="opt">-s <replaceable/packetsize/</arg>
24 <arg choice="opt">-t <replaceable/ttl/</arg>
25 <arg choice="opt">-w <replaceable/deadline/</arg>
26 <arg choice="opt">-F <replaceable/flowlabel/</arg>
27 <arg choice="opt">-I <replaceable/interface/</arg>
28 <arg choice="opt">-M <replaceable/hint/</arg>
29 <arg choice="opt">-N <replaceable/nioption/</arg>
30 <arg choice="opt">-Q <replaceable/tos/</arg>
31 <arg choice="opt">-S <replaceable/sndbuf/</arg>
32 <arg choice="opt">-T <replaceable/timestamp option/</arg>
33 <arg choice="opt">-W <replaceable/timeout/</arg>
34 <arg choice="opt" rep="repeat"><replaceable/hop/</arg>
35 <arg choice="req"><replaceable/destination/</arg>
36 </cmdsynopsis>
37 </refsynopsisdiv>
38
39 <refsect1><title>DESCRIPTION</title>
40 <para>
41 <command/ping/ uses the ICMP protocol's mandatory ECHO_REQUEST
42 datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway.
43 ECHO_REQUEST datagrams (``pings'') have an IP and ICMP
44 header, followed by a <structname/struct timeval/ and then an arbitrary
45 number of ``pad'' bytes used to fill out the packet.
46 </para>
47 <para>
48 <command/ping6/ can also send Node Information Queries (RFC4620).
49 </para>
50 </refsect1>
51
52 <refsect1><title>OPTIONS</title>
53
54 <variablelist>
55  <varlistentry>
56   <term><option/-a/</term>
57   <listitem><para>
58 Audible ping.
59   </para></listitem>
60  </varlistentry>
61  <varlistentry>
62   <term><option/-A/</term>
63   <listitem><para>
64 Adaptive ping. Interpacket interval adapts to round-trip time, so that
65 effectively not more than one (or more, if preload is set) unanswered probes
66 present in the network. Minimal interval is 200msec for not super-user.
67 On networks with low rtt this mode is essentially equivalent to flood mode.  
68   </para></listitem>
69  </varlistentry>
70  <varlistentry>
71   <term><option/-b/</term>
72   <listitem><para>
73 Allow pinging a broadcast address.
74   </para></listitem>
75  </varlistentry>
76  <varlistentry>
77   <term><option/-B/</term>
78   <listitem><para>
79 Do not allow <command/ping/ to change source address of probes.
80 The address is bound to one selected when <command/ping/ starts.
81   </para></listitem>
82  </varlistentry>
83  <varlistentry>
84   <term><option>-m <replaceable/mark/</option></term>
85   <listitem><para>
86 use <replaceable/mark/ to tag the packets going out. This is useful
87 for variety of reasons within the kernel such as using policy
88 routing to select specific outbound processing.
89   </para></listitem>
90  </varlistentry>
91  <varlistentry>
92   <term><option><anchor id="ping.count">-c <replaceable/count/</option></term>
93   <listitem><para>
94 Stop after sending <replaceable/count/ ECHO_REQUEST
95 packets. With 
96 <link linkend="ping.deadline"><replaceable/deadline/</link>
97 option, <command/ping/ waits for
98 <replaceable/count/ ECHO_REPLY packets, until the timeout expires.
99   </para></listitem>
100  </varlistentry>
101  <varlistentry>
102   <term><option/-d/</term>
103   <listitem><para>
104 Set the <constant/SO_DEBUG/ option on the socket being used.
105 Essentially, this socket option is not used by Linux kernel. 
106   </para></listitem>
107  </varlistentry>
108  <varlistentry>
109   <term><option>-F <replaceable/flow label/</option></term>
110   <listitem><para>
111 Allocate and set 20 bit flow label on echo request packets.
112 (Only <command/ping6/). If value is zero, kernel allocates random flow label.
113   </para></listitem>
114  </varlistentry>
115  <varlistentry>
116   <term><option/-f/</term>
117   <listitem><para>
118 Flood ping. For every ECHO_REQUEST sent a period ``.'' is printed,
119 while for ever ECHO_REPLY received a backspace is printed.
120 This provides a rapid display of how many packets are being dropped.
121 If interval is not given, it sets interval to zero and
122 outputs packets as fast as they come back or one hundred times per second,
123 whichever is more.
124 Only the super-user may use this option with zero interval.
125   </para></listitem>
126  </varlistentry>
127  <varlistentry>
128   <term><option>-i <replaceable/interval/</option></term>
129   <listitem><para>
130 Wait <replaceable/interval/ seconds between sending each packet.
131 The default is to wait for one second between each packet normally,
132 or not to wait in flood mode. Only super-user may set interval
133 to values less 0.2 seconds.
134   </para></listitem>
135  </varlistentry>
136  <varlistentry>
137   <term><option>-I <replaceable/interface address/</option></term>
138   <listitem><para>
139 Set source address to specified interface address. Argument
140 may be numeric IP address or name of device. When pinging IPv6
141 link-local address this option is required.
142   </para></listitem>
143  </varlistentry>
144  <varlistentry>
145   <term><option>-l <replaceable/preload/</option></term>
146   <listitem><para>
147 If <replaceable/preload/ is specified,
148 <command/ping/ sends that many packets not waiting for reply.
149 Only the super-user may select preload more than 3.
150   </para></listitem>
151  </varlistentry>
152  <varlistentry>
153   <term><option/-L/</term>
154   <listitem><para>
155 Suppress loopback of multicast packets.  This flag only applies if the ping
156 destination is a multicast address.
157   </para></listitem>
158  </varlistentry>
159  <varlistentry>
160   <term><option>-N <replaceable/nioption/</option></term>
161   <listitem><para>
162 Send ICMPv6 Node Information Queries (RFC4620), instead of Echo Request.
163    <variablelist>
164     <varlistentry>
165      <term><option>name</option></term>
166      <listitem><para>Queries for Node Names.</para></listitem>
167     </varlistentry>
168    </variablelist>
169    <variablelist>
170     <varlistentry>
171      <term><option>ipv6</option></term>
172      <listitem><para>Queries for IPv6 Addresses. There are several IPv6 specific flags.
173       <variablelist>
174        <varlistentry>
175         <term><option>ipv6-global</option></term>
176         <listitem><para>Request IPv6 global-scope addresses.</para></listitem> 
177        </varlistentry>
178       </variablelist>
179       <variablelist>
180        <varlistentry>
181         <term><option>ipv6-sitelocal</option></term>
182         <listitem><para>Request IPv6 site-local addresses.</para></listitem> 
183        </varlistentry>
184       </variablelist>
185       <variablelist>
186        <varlistentry>
187         <term><option>ipv6-linklocal</option></term>
188         <listitem><para>Request IPv6 link-local addresses.</para></listitem> 
189        </varlistentry>
190       </variablelist>
191       <variablelist>
192        <varlistentry>
193         <term><option>ipv6-all</option></term>
194         <listitem><para>Request IPv6 addresses on other interfaces.</para></listitem> 
195        </varlistentry>
196       </variablelist>
197      </para></listitem>
198     </varlistentry>
199    </variablelist>
200    <variablelist>
201     <varlistentry>
202      <term><option>ipv4</option></term>
203      <listitem><para>Queries for IPv4 Addresses.  There is one IPv4 specific flag.
204       <variablelist>
205        <varlistentry>
206         <term><option>ipv4-all</option></term>
207         <listitem><para>Request IPv4 addresses on other interfaces.</para></listitem>
208        </varlistentry>
209       </variablelist>
210      </para></listitem>
211     </varlistentry>
212    </variablelist>
213    <variablelist>
214     <varlistentry>
215      <term><option>subject-ipv6=<replaceable/ipv6addr/</option></term>
216      <listitem><para>IPv6 subject address.</para></listitem>
217     </varlistentry>
218    </variablelist>
219    <variablelist>
220     <varlistentry>
221      <term><option>subject-ipv4=<replaceable/ipv4addr/</option></term>
222      <listitem><para>IPv4 subject address.</para></listitem>
223     </varlistentry>
224    </variablelist>
225    <variablelist>
226     <varlistentry>
227      <term><option>subject-name=<replaceable/nodename/</option></term>
228      <listitem><para>Subject name.  If it contains more than one dot,
229         fully-qualified domain name is assumed.</para></listitem>
230     </varlistentry>
231    </variablelist>
232    <variablelist>
233     <varlistentry>
234      <term><option>subject-fqdn=<replaceable/nodename/</option></term>
235      <listitem><para>Subject name.  Fully-qualified domain name is
236         always assumed.</para></listitem>
237     </varlistentry>
238    </variablelist>
239   </para></listitem>
240  </varlistentry>
241  <varlistentry>
242   <term><option/-n/</term>
243   <listitem><para>
244 Numeric output only.
245 No attempt will be made to lookup symbolic names for host addresses.
246   </para></listitem>
247  </varlistentry>
248  <varlistentry>
249   <term><option>-p <replaceable/pattern/</option></term>
250   <listitem><para>
251 You may specify up to 16 ``pad'' bytes to fill out the packet you send.
252 This is useful for diagnosing data-dependent problems in a network.
253 For example, <option>-p ff</option> will cause the sent packet
254 to be filled with all ones.
255   </para></listitem>
256  </varlistentry>
257  <varlistentry>
258   <term><option/-D/</term>
259   <listitem><para>
260 Print timestamp (unix time + microseconds as in gettimeofday) before
261 each line.
262   </para></listitem>
263  </varlistentry>
264  <varlistentry>
265   <term><option>-Q <replaceable/tos/</option></term>
266   <listitem><para>
267 Set Quality of Service -related bits in ICMP datagrams.  
268 <replaceable/tos/ can be either decimal or hex number.
269 Traditionally (RFC1349), these have been interpreted as: 0 for reserved
270 (currently being redefined as congestion control), 1-4 for Type of Service
271 and 5-7 for Precedence.
272 Possible settings for Type of Service are: minimal cost: 0x02, 
273 reliability: 0x04, throughput: 0x08, low delay: 0x10.  Multiple TOS bits
274 should not be set simultaneously.  Possible settings for
275 special Precedence range from priority (0x20) to net control (0xe0).  You
276 must be root (<constant/CAP_NET_ADMIN/ capability) to use Critical or
277 higher precedence value.  You cannot set
278 bit 0x01 (reserved) unless ECN has been enabled in the kernel.
279 In RFC2474, these fields has been redefined as 8-bit Differentiated
280 Services (DS), consisting of: bits 0-1 of separate data (ECN will be used,
281 here), and bits 2-7 of Differentiated Services Codepoint (DSCP).
282   </para></listitem>
283  </varlistentry>
284  <varlistentry>
285   <term><option/-q/</term>
286   <listitem><para>
287 Quiet output.
288 Nothing is displayed except the summary lines at startup time and
289 when finished.
290   </para></listitem>
291  </varlistentry>
292  <varlistentry>
293   <term><option/-R/</term>
294   <listitem><para>
295 Record route.
296 Includes the RECORD_ROUTE option in the ECHO_REQUEST
297 packet and displays the route buffer on returned packets.
298 Note that the IP header is only large enough for nine such routes.
299 Many hosts ignore or discard this option.
300   </para></listitem>
301  </varlistentry>
302  <varlistentry>
303   <term><option/-r/</term>
304   <listitem><para>
305 Bypass the normal routing tables and send directly to a host on an attached
306 interface.
307 If the host is not on a directly-attached network, an error is returned.
308 This option can be used to ping a local host through an interface
309 that has no route through it provided the option <option/-I/ is also
310 used.
311   </para></listitem>
312  </varlistentry>
313  <varlistentry>
314   <term><option>-s <replaceable/packetsize/</option></term>
315   <listitem><para>
316 Specifies the number of data bytes to be sent.  
317 The default is 56, which translates into 64 ICMP
318 data bytes when combined with the 8 bytes of ICMP header data.
319   </para></listitem>
320  </varlistentry>
321  <varlistentry>
322   <term><option>-S <replaceable/sndbuf/</option></term>
323   <listitem><para>
324 Set socket sndbuf. If not specified, it is selected to buffer
325 not more than one packet.
326   </para></listitem>
327  </varlistentry>
328  <varlistentry>
329   <term><option>-t <replaceable/ttl/</option></term>
330   <listitem><para>
331 Set the IP Time to Live.
332   </para></listitem>
333  </varlistentry>
334  <varlistentry>
335   <term><option>-T <replaceable/timestamp option/</option></term>
336   <listitem><para>
337 Set special IP timestamp options.
338 <replaceable/timestamp option/ may be either 
339 <replaceable/tsonly/ (only timestamps), 
340 <replaceable/tsandaddr/ (timestamps and addresses) or 
341 <replaceable/tsprespec host1 [host2 [host3 [host4]]]/
342 (timestamp prespecified hops).
343   </para></listitem>
344  </varlistentry>
345  <varlistentry>
346   <term><option>-M <replaceable/hint/</option></term>
347   <listitem><para>
348 Select Path MTU Discovery strategy.
349 <replaceable/hint/ may be either <replaceable/do/
350 (prohibit fragmentation, even local one), 
351 <replaceable/want/ (do PMTU discovery, fragment locally when packet size
352 is large), or <replaceable/dont/ (do not set DF flag).
353   </para></listitem>
354  </varlistentry>
355  <varlistentry>
356   <term><option/-U/</term>
357   <listitem><para>
358 Print full user-to-user latency (the old behaviour). Normally
359 <command/ping/
360 prints network round trip time, which can be different
361 f.e. due to DNS failures. 
362   </para></listitem>
363  </varlistentry>
364  <varlistentry>
365   <term><option/-v/</term>
366   <listitem><para>
367 Verbose output.
368   </para></listitem>
369  </varlistentry>
370  <varlistentry>
371   <term><option/-V/</term>
372   <listitem><para>
373 Show version and exit.
374   </para></listitem>
375  </varlistentry>
376  <varlistentry>
377   <term><option><anchor id="ping.deadline">-w <replaceable/deadline/</option></term>
378   <listitem><para>
379 Specify a timeout, in seconds, before
380 <command/ping/
381 exits regardless of how many
382 packets have been sent or received. In this case
383 <command/ping/
384 does not stop after
385 <link linkend="ping.count"><replaceable/count/</link>
386 packet are sent, it waits either for
387 <link linkend="ping.deadline"><replaceable/deadline/</link>
388 expire or until
389 <link linkend="ping.count"><replaceable/count/</link>
390 probes are answered or for some error notification from network.   
391   </para></listitem>
392  </varlistentry>
393  <varlistentry>
394   <term><option>-W <replaceable/timeout/</option></term>
395   <listitem><para>
396 Time to wait for a response, in seconds. The option affects only timeout
397 in absense of any responses, otherwise <command/ping/ waits for two RTTs.
398   </para></listitem>
399  </varlistentry>
400 </variablelist>
401
402 <para>
403 When using <command/ping/ for fault isolation, it should first be run
404 on the local host, to verify that the local network interface is up
405 and running. Then, hosts and gateways further and further away should be
406 ``pinged''. Round-trip times and packet loss statistics are computed.
407 If duplicate packets are received, they are not included in the packet
408 loss calculation, although the round trip time of these packets is used
409 in calculating the minimum/average/maximum round-trip time numbers.
410 When the specified number of packets have been sent (and received) or
411 if the program is terminated with a
412 <constant/SIGINT/, a brief summary is displayed. Shorter current statistics
413 can be obtained without termination of process with signal
414 <constant/SIGQUIT/.
415 </para>
416
417 <para>
418 If <command/ping/ does not receive any reply packets at all it will
419 exit with code 1. If a packet 
420 <link linkend="ping.count"><replaceable/count/</link>
421 and
422 <link linkend="ping.deadline"><replaceable/deadline/</link>
423 are both specified, and fewer than
424 <link linkend="ping.count"><replaceable/count/</link>
425 packets are received by the time the
426 <link linkend="ping.deadline"><replaceable/deadline/</link>
427 has arrived, it will also exit with code 1. 
428 On other error it exits with code 2. Otherwise it exits with code 0. This
429 makes it possible to use the exit code to see if a host is alive or
430 not.
431 </para>
432
433
434 <para>
435 This program is intended for use in network testing, measurement and
436 management.
437 Because of the load it can impose on the network, it is unwise to use
438 <command/ping/ during normal operations or from automated scripts.
439 </para>
440
441 </refsect1>
442
443
444 <refsect1><title>ICMP PACKET DETAILS</title>
445
446 <para>
447 An IP header without options is 20 bytes.
448 An ICMP ECHO_REQUEST packet contains an additional 8 bytes worth
449 of ICMP header followed by an arbitrary amount of data.
450 When a <replaceable/packetsize/ is given, this indicated the size of this
451 extra piece of data (the default is 56). Thus the amount of data received
452 inside of an IP packet of type ICMP ECHO_REPLY will always be 8 bytes
453 more than the requested data space (the ICMP header).
454 </para>
455
456 <para>
457 If the data space is at least of size of <structname/struct timeval/
458 <command/ping/ uses the beginning bytes of this space to include
459 a timestamp which it uses in the computation of round trip times.
460 If the data space is shorter, no round trip times are given.
461 </para>
462
463 </refsect1>
464
465 <refsect1><title>DUPLICATE AND DAMAGED PACKETS</title>
466
467 <para>
468 <command/ping/ will report duplicate and damaged packets.
469 Duplicate packets should never occur, and seem to be caused by
470 inappropriate link-level retransmissions.
471 Duplicates may occur in many situations and are rarely (if ever) a
472 good sign, although the presence of low levels of duplicates may not
473 always be cause for alarm.
474 </para>
475
476 <para>
477 Damaged packets are obviously serious cause for alarm and often
478 indicate broken hardware somewhere in the
479 <command/ping/ packet's path (in the network or in the hosts).
480 </para>
481
482 </refsect1>
483
484 <refsect1><title>TRYING DIFFERENT DATA PATTERNS</title>
485
486 <para>
487 The (inter)network layer should never treat packets differently depending
488 on the data contained in the data portion.
489 Unfortunately, data-dependent problems have been known to sneak into
490 networks and remain undetected for long periods of time.
491 In many cases the particular pattern that will have problems is something
492 that doesn't have sufficient ``transitions'', such as all ones or all
493 zeros, or a pattern right at the edge, such as almost all zeros.
494 It isn't necessarily enough to specify a data pattern of all zeros (for
495 example) on the command line because the pattern that is of interest is
496 at the data link level, and the relationship between what you type and
497 what the controllers transmit can be complicated.
498 </para>
499
500 <para>
501 This means that if you have a data-dependent problem you will probably
502 have to do a lot of testing to find it.
503 If you are lucky, you may manage to find a file that either can't be sent
504 across your network or that takes much longer to transfer than other
505 similar length files.
506 You can then examine this file for repeated patterns that you can test
507 using the <option/-p/ option of <command/ping/.
508 </para>
509
510 </refsect1>
511
512 <refsect1><title>TTL DETAILS</title>
513
514 <para>
515 The TTL value of an IP packet represents the maximum number of IP routers
516 that the packet can go through before being thrown away.
517 In current practice you can expect each router in the Internet to decrement
518 the TTL field by exactly one.
519 </para>
520
521 <para>
522 The TCP/IP specification states that the TTL field for TCP
523 packets should be set to 60, but many systems use smaller values
524 (4.3 BSD uses 30, 4.2 used 15).
525 </para>
526
527 <para>
528 The maximum possible value of this field is 255, and most Unix systems set
529 the TTL field of ICMP ECHO_REQUEST packets to 255.
530 This is why you will find you can ``ping'' some hosts, but not reach them
531 with
532 <citerefentry><refentrytitle/telnet/<manvolnum/1/</citerefentry>
533 or
534 <citerefentry><refentrytitle/ftp/<manvolnum/1/</citerefentry>.
535 </para>
536
537 <para>
538 In normal operation ping prints the ttl value from the packet it receives.
539 When a remote system receives a ping packet, it can do one of three things
540 with the TTL field in its response:
541 </para>
542
543 <itemizedlist>
544  <listitem><para>
545 Not change it; this is what Berkeley Unix systems did before the
546 4.3BSD Tahoe release. In this case the TTL value in the received packet
547 will be 255 minus the number of routers in the round-trip path.
548  </para></listitem>
549  <listitem><para>
550 Set it to 255; this is what current Berkeley Unix systems do.
551 In this case the TTL value in the received packet will be 255 minus the
552 number of routers in the path <emphasis/from/
553 the remote system <emphasis/to/ the <command/ping/ing host.
554  </para></listitem>
555  <listitem><para>
556 Set it to some other value. Some machines use the same value for
557 ICMP packets that they use for TCP packets, for example either 30 or 60.
558 Others may use completely wild values.
559  </para></listitem>
560 </itemizedlist>
561
562 </refsect1>
563
564 <refsect1><title>BUGS</title>
565
566 <itemizedlist>
567  <listitem><para>
568 Many Hosts and Gateways ignore the RECORD_ROUTE option.
569  </para></listitem>
570  <listitem><para>
571 The maximum IP header length is too small for options like
572 RECORD_ROUTE to be completely useful.
573 There's not much that that can be done about this, however.
574  </para></listitem>
575  <listitem><para>
576 Flood pinging is not recommended in general, and flood pinging the
577 broadcast address should only be done under very controlled conditions.
578  </para></listitem>
579 </itemizedlist>
580
581 </refsect1>
582
583 <refsect1><title>SEE ALSO</title>
584 <para>
585 <citerefentry><refentrytitle/netstat/<manvolnum/1/</citerefentry>,
586 <citerefentry><refentrytitle/ifconfig/<manvolnum/8/</citerefentry>.
587 </para>
588 </refsect1>
589
590 <refsect1><title>HISTORY</title>
591 <para>
592 The <command/ping/ command appeared in 4.3BSD.
593 </para>
594 <para>
595 The version described here is its descendant specific to Linux.
596 </para>
597 </refsect1>
598
599 <refsect1><title>SECURITY</title>
600 <para>
601 <command/ping/ requires <constant/CAP_NET_RAWIO/ capability
602 to be executed. It may be used as set-uid root.
603 </para>
604 </refsect1>
605
606 <refsect1><title>AVAILABILITY</title>
607 <para>
608 <command/ping/ is part of <filename/iputils/ package
609 and the latest versions are  available in source form at
610 <ulink url="http://www.skbuff.net/iputils/iputils-current.tar.bz2">
611 http://www.skbuff.net/iputils/iputils-current.tar.bz2</ulink>.
612 </para>
613 </refsect1>
614
615 <![IGNORE[
616 <refsect1><title>COPYING</title>
617 <para>
618 <literallayout>
619 Copyright (c) 1989 The Regents of the University of California.
620 All rights reserved.
621
622 This code is derived from software contributed to Berkeley by
623 Mike Muuss.
624
625 Redistribution and use in source and binary forms, with or without
626 modification, are permitted provided that the following conditions
627 are met:
628 1. Redistributions of source code must retain the above copyright
629    notice, this list of conditions and the following disclaimer.
630 2. Redistributions in binary form must reproduce the above copyright
631    notice, this list of conditions and the following disclaimer in the
632    documentation and/or other materials provided with the distribution.
633 3. All advertising materials mentioning features or use of this software
634    must display the following acknowledgement:
635         This product includes software developed by the University of
636         California, Berkeley and its contributors.
637 4. Neither the name of the University nor the names of its contributors
638    may be used to endorse or promote products derived from this software
639    without specific prior written permission.
640
641 THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
642 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
643 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
644 ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
645 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
646 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
647 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
648 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
649 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
650 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
651 SUCH DAMAGE.
652 </literallayout>
653 </para>
654 </refsect1>
655 ]]>
656
657
658 </refentry>
659