This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 331caeb4759 Documentation: document ping6 command.
331caeb4759 is described below

commit 331caeb4759dce51f3c872bedc55e20663a0c56f
Author: hanzj <[email protected]>
AuthorDate: Thu May 28 09:34:46 2026 +0800

    Documentation: document ping6 command.
    
    Add documentation for the ping6 ICMPv6 ECHO request command.
    The ping6 tool sends ICMPv6 ECHO_REQUEST packets to a remote
    IPv6 host and reports round-trip times and packet loss statistics.
    
    Refs #11081
    
    Signed-off-by: hanzj <[email protected]>
---
 Documentation/applications/system/ping6/index.rst | 147 +++++++++++++++++++++-
 1 file changed, 144 insertions(+), 3 deletions(-)

diff --git a/Documentation/applications/system/ping6/index.rst 
b/Documentation/applications/system/ping6/index.rst
index 304ccc146d5..34b9891b709 100644
--- a/Documentation/applications/system/ping6/index.rst
+++ b/Documentation/applications/system/ping6/index.rst
@@ -1,3 +1,144 @@
-================================
-``ping6`` ICMPv6 "ping6" command
-================================
+===================================
+``ping6`` ICMPv6 ECHO request tool
+===================================
+
+Overview
+========
+
+The ``ping6`` command sends ICMPv6 ECHO_REQUEST packets to a remote
+IPv6 host and reports the replies.  It is the IPv6 counterpart of the
+IPv4 ``ping`` command and is used to verify IPv6 connectivity and
+measure round-trip times.
+
+The command takes a single required argument: either a numeric IPv6
+address or, when DNS resolution is enabled, a hostname.  It sends a
+configurable number of packets at a fixed interval and prints a
+per-reply summary followed by aggregate statistics (packet loss and
+round-trip time min/avg/max/mdev).
+
+Configuration
+=============
+
+Enable the command with ``CONFIG_SYSTEM_PING6`` (tristate).  This
+option selects ``CONFIG_NETUTILS_PING6``, which provides the
+underlying ICMPv6 ping library.
+
+Additional configuration symbols:
+
+- ``CONFIG_SYSTEM_PING6_PROGNAME`` — Program name registered with
+  NSH (default ``"ping6"``).
+- ``CONFIG_SYSTEM_PING6_PRIORITY`` — Task priority (default
+  ``100``).
+- ``CONFIG_SYSTEM_PING6_STACKSIZE`` — Task stack size (default
+  ``DEFAULT_TASK_STACKSIZE``).
+
+The ``-I`` option for binding to a specific network interface requires
+``CONFIG_NET_BINDTODEVICE``.
+
+When both ``CONFIG_LIBC_NETDB`` and ``CONFIG_NETDB_DNSCLIENT`` are
+enabled, the ``<host>`` argument is resolved via DNS; otherwise only
+numeric IPv6 addresses are accepted.
+
+Usage
+=====
+
+.. code-block:: console
+
+   ping6 [-c <count>] [-i <interval>] [-W <timeout>] [-s <size>]
+         [-I <interface>] <host>
+   ping6 -h
+
+The ``<host>`` argument is required.  It must be an IPv6 address
+(e.g. ``fe80::1``) or, when DNS is available, a hostname.
+
+Options
+=======
+
+.. list-table::
+   :header-rows: 1
+
+   * - Option
+     - Description
+   * - ``-c <count>``
+     - Number of ECHO requests to send.  Range: 1–65535.
+       Default: ``10``.
+   * - ``-i <interval>``
+     - Delay between successive requests in milliseconds.  Range:
+       1–65535.  Default: ``1000`` (1 second).
+   * - ``-W <timeout>``
+     - Time to wait for a reply before reporting a timeout, in
+       milliseconds.  Range: 1–65535.  Default: ``1000`` (1 second).
+   * - ``-s <size>``
+     - Number of data bytes in each ECHO request packet.  Range:
+       1–65535.  Default: ``56``.
+   * - ``-I <interface>``
+     - Bind the ping traffic to the specified network device (e.g.
+       ``eth0``).  Only available when ``CONFIG_NET_BINDTODEVICE`` is
+       enabled.
+   * - ``-h``
+     - Show usage information and exit.
+
+Examples
+========
+
+Ping an IPv6 address with default settings (10 packets, 1-second
+interval):
+
+.. code-block:: console
+
+   nsh> ping6 fe80::1
+
+Send 5 pings with a 500 ms interval:
+
+.. code-block:: console
+
+   nsh> ping6 -c 5 -i 500 fe80::1
+
+Ping with a larger packet size and 2-second timeout:
+
+.. code-block:: console
+
+   nsh> ping6 -s 1024 -W 2000 fe80::1
+
+Bind ping traffic to a specific interface:
+
+.. code-block:: console
+
+   nsh> ping6 -I eth0 fe80::1
+
+Ping a hostname (requires DNS):
+
+.. code-block:: console
+
+   nsh> ping6 myhost.example.com
+
+Show usage:
+
+.. code-block:: console
+
+   nsh> ping6 -h
+
+Output format
+=============
+
+Each successful reply prints a line showing the reply size, source
+address, ICMP sequence number, and round-trip time::
+
+   64 bytes from fe80::1 icmp_seq=0 time=1.234 ms
+
+After all packets are sent, the command prints aggregate statistics::
+
+   10 packets transmitted, 10 received, 0% packet loss, time 9001 ms
+   rtt min/avg/max/mdev = 1.100/1.234/1.500/0.123 ms
+
+Notes
+=====
+
+- The interval and timeout values are specified in milliseconds, not
+  seconds (unlike some other ``ping`` implementations).
+- The ``-I`` option is silently ignored if ``CONFIG_NET_BINDTODEVICE``
+  is not enabled; an error message is printed in that case.
+- The command uses the ``icmp6_ping()`` library function from
+  ``netutils/icmpv6_ping.h``.
+- Round-trip times are measured in microseconds internally and
+  displayed with millisecond precision.

Reply via email to