Send ICMPv6 ECHO_REQUEST packets to network hosts (UNIX)
ping6 [-dfHnNqRvw] [-a addrtype] [-b bufsiz] [-c count] [-h hoplimit] [-I interface] [-i wait] [-l preload] [-p pattern] [-P policy] [-S sourceaddr] [-s packetsize] [hops...] host
Neutrino
The ping6 utility uses the ICMPv6 protocol's mandatory ICMP6_ECHO_REQUEST datagram to elicit an ICMP6_ECHO_RESPONSE from the given host or gateway. ICMP6_ECHO_REQUEST datagrams, known as pings, have an IPv6 header, and ICMPv6 header formatted as documented in RFC 2463.
When using ping6 for isolating faults, you should first run it on the local host to verify that the local network interface is up and running. You should then "ping" hosts and gateways further and further away. Roundtrip times and packet-loss statistics are computed. If duplicate packets are received, they aren't included in the packet-loss calculation, although the roundtrip time of these packets is used in calculating the minimum/average/maximum roundtrip time numbers. When the specified number of packets has been sent (and received), or if you terminate ping6 with a SIGINT, a brief summary is displayed.
Duplicate and damaged packets
The ping6 utility reports duplicate and damaged packets.
Although they should never happen when pinging a unicast address, duplicate packets can occur in many situations and seem to be caused by inappropriate link-level retransmissions. While duplicates are rarely (if ever) a good sign, the presence of low levels of duplicates isn't always cause for alarm. Duplicates are expected when pinging a broadcast or multicast address, since they're not really duplicates but replies from different hosts to the same request.
Damaged packets, on the other hand, are serious and often indicate malfunctioning hardware somewhere in the ping6 packet's path (in the network or in the hosts).
Trying different data patterns
The (inter)network layer should never treat packets according to the data contained in the data portion. Unfortunately, data-dependent problems have been known to sneak into networks and remain undetected for long periods of time. In many cases, the particular pattern that will have problems is something that doesn't have sufficient "transitions," such as all ones or all zeros, or a pattern right at the edge, such as almost all zeros. It isn't necessarily enough to specify a data pattern of all zeros, for example, on the command line because the pattern of interest is at the data-link level—the relationship between what you type and what the controllers transmit can be complicated.
So if you have a data-dependent problem, you'll probably have to do a lot of testing to find it. If you're lucky, you may manage to find a file that either can't be sent across your network or that takes much longer to transfer than other similar length files. You can then examine this file for repeated patterns that you can test using the -p option.
Based on:
The ping6 utility requires the libsocket.so shared library.