lltping - check network connectivity using LLT
lltping -c node_id [-q|-v] [-p port] [-T [-n count] [-a]] [-K] [-m size]
lltping -s [-q|-v] [-p port] [-T] [-K] [-m size] [-F]
The lltping utility exchanges network traffic over a cluster to test the LLT network connectivity. A host on the network can run an instance of lltping in server mode to reflect packets from the other hosts. An instance of lltping in client mode can then be used to send an echo request to any other host and receive an echo response. If there is no response within 10 seconds (the default timeout period), the client declares that the remote host is not functioning. If the ping succeeds, lltping displays the state of the node and the network links.
Additionally, lltping can be used to report round-trip-time (RTT) between the client and server.
-c node_id Specify client mode and connect to remote server running on LLT node node_id. -s Specify server mode. -p dport Specify the LLT port to use in transmitting and receiving packets. The default is LLT port 30. -T Report round-trip-time (RTT). -n count Send count packets and report RTT for each. By default 20 packets are sent when reporting RTT. -a Report summarized RTT values only. By default RTT for each packet sent is reported followed by a summary of average, maximum, minimum RTT. -K Verify checksum of each packet received. By default lltping does not verify any packet received (except for the length). With this option the receiver verifies the checksum calculated by the sender to catch any data corruption. -m size Specify the message size to be sent and expected to be received. Default size is 128 bytes. Maximum packet size is 16K bytes for AIX, Linux, and Solaris, and 4K bytes for HP-UX. -q Specify quiet operation. -v Specify verbose operation. -F Specify whether you want to use internal RDMA APIs for data transfer between nodes. With this option, you do not need to specify the port option, -p. The default port used is 30.
Network connectivity check
system1# lltping -s & system1# system2# lltping -c 0 Node 0 is alive Node State Link Status Address 0 system1 OPEN qfe0 UP 00:30:6E:06:81:7B qfe1 UP 00:30:6E:06:51:CA system2#
system1# lltping -s -T & system1# system2# lltping -c 0 -T lltping: send_recv_ping to node=1, pkts=3 lltping: pkt=0, rtt=(0s 161382us)tx=(0s 157us) rx=(0s 161225us) lltping: pkt=1, rtt=(0s 285us)tx=(0s 131us) rx=(0s 154us) lltping: pkt=2, rtt=(0s 287us)tx=(0s 133us) rx=(0s 154us) lltping: pkts=3, msgsz=128, rtt:min/avg/max=285/53984/161382 usec system2#
In the client mode, lltping returns 0 if the remote host is alive, 1 if the remote host responds, but one or more network links are down, and 2 or the errno if there is an error. To test your network after configuring LLT on all the nodes in the cluster run lltping in the server mode on the lowest node in the cluster. Run lltping in the client mode on all the other nodes and have them contact the lltping server on the lowest node in the cluster.
The RTT reported is between lltping instances running in user-space on two nodes. Hence the RTT numbers obtained are not indicative of RTT observed by kernel clients (which are the real ones) of LLT. Also timings of first few packets is not taken into account while reporting average RTT. This is because RTT of initial packets include connection setup delays which are a one time phenomenon and should not be part of the average.