Diagnostic Utilities

The TNSR CLI includes convenience utilities for testing connectivity.

Diagnostic Routing Behavior

The utilities in this section behave the same with regard to routing. These utilities will send traffic using the host OS routing table by default unless a specific source address is passed to the command.

Ping

To perform a basic ICMP echo request, use the ping command:

tnsr# ping <destination host> source <interface IP address>

TNSR will send 10 ICMP echo requests to the destination host, waiting a maximum of 12 seconds for a reply. The source address would be a TNSR interface address, which will allow ping to send its request using the routing table in TNSR.

The ping command supports a number of additional parameters which alter its behavior:

tnsr# ping (<dest-host>|<dest-ip>) [ipv4|ipv6] [interface <if-name>] [source <src-addr>]
      [count <count>] [packet-size <bytes>] [ttl <ttl-hops>] [timeout <wait-sec>]
dest-host|dest-ip

The target of the ICMP echo request. This may be a hostname, IPv4 IP address, or IPv6 IP address.

ipv4|ipv6

When a hostname is used for the destination, this parameter controls the address family used for the ICMP echo request when the DNS response for the hostname contains both IPv4 (A) and IPv6 (AAAA) records.

interface

The TNSR interface from which the ICMP echo requests will originate.

source

The source IP address for the ICMP echo requests. This is required to initiate an ICMP echo request using the routing table in TNSR. If omitted, the ICMP echo request will use the host OS routing table.

count

The number of ICMP echo requests to send. Default value is 10.

packet-size

The size of of the ICMP echo request payload, not counting header information. Default value is 56.

ttl

The Time To Live/Hop Limit value for ICMP echo requests, which can limit how far they may travel across the network. Default value is 121 hops.

timeout

The total time to wait for the command to complete.

Traceroute

To perform a network routing trace to a destination host, use the traceroute command:

tnsr# traceroute <destination host> source <interface IP address>

The source address would be a TNSR interface address, which will allow traceroute to send its request using the routing table in TNSR.

As with the ping command, there several additional parameters to change the behavior of the trace:

tnsr# traceroute (<dest-host>|<dest-ip>) [ipv4|ipv6] [interface <if-name>] [source <src-addr>]
      [packet-size <bytes>] [no-dns] [timeout <seconds>] [ttl <ttl-hos>] [waittime <wait-sec>]

Most parameters are the same as those found in ping (Ping). Only the items that differ are listed here:

no-dns

Do not attempt to use DNS to reverse resolve hosts that respond to probes.

waittime

Amount of time the command will wait for individual probe responses to return.

Warning

The traceroute command requires /usr/bin/traceroute to be present in the base operating system. The TNSR package set includes a dependency which will automatically install a package for traceroute. It may also be installed manually using sudo yum install -y traceroute or a similar command, depending on the host OS package management configuration.