The pipe
value in the output of ping
indicates the maximum number of unanswered ICMP echo request packets outstanding in the network at some point during the test. It is not normally reported when this value is one (every request received a response before the next request was sent), which is the case under normal operation.
By default, the ping
command waits a second between sending echo requests, as per the description on its man page under the -i
parameter:
The default is to wait for one second between each packet normally, or not to wait in flood mode. Only super-user may set interval to values less 0.2 seconds.
On most networks, the round trip time (RTT) is typically on the order of tens or hundreds of milliseconds, not seconds, so in this default mode, each echo request will normally receive a response before the following request is sent. The maximum number of outstanding packets in the network is no greater than one at any point in the test, so pipe
is equal to 1 and not reported.
Should the response time to a packet rise above this default interval for some reason, causing multiple requests to be outstanding in the network, ping will report a pipe
greater than one. Similarly, you can invoke this response by artificially reducing the interval by passing a smaller value than the RTT for the -i
parameter of ping
.
If the network system is local, then either:
- your tests are reducing the interval for issuing pings
- you have enabled flood mode, which does not wait for a response before sending another ping
- responses are taking a while to come back to your test system from the remote host
Whether this is indicative of a larger problem depends on the scenario, the network hardware, the ping
configuration, etc.