juniper_junos_ping

Execute ping from a Junos device

New in version 2.0.0.

Synopsis

  • Execute the ping command from a Junos device to a specified destination in order to test network reachability from the Junos device .

Requirements

The following software packages must be installed on hosts that execute this module:

Module-specific Options

The following options may be specified for this module:

parameter type required default choices comments
acceptable_percent_loss
int no 0
Maximum percentage of packets that may be lost and still consider the task not to have failed.

aliases: acceptable_packet_loss
count
int no 5
Number of packets to send.
dest
str yes none
The IP address, or hostname if DNS is configured on the Junos device, used as the destination of the ping.

aliases: dest_ip, dest_host, destination, destination_ip, destination_host
do_not_fragment
bool no False
  • yes
  • no
Set Do Not Fragment bit on ping packets.
interface
str no none
The source interface from which the the ping is sent. If not specified, the default Junos algorithm for determining the source interface is used.
rapid
bool no True
  • yes
  • no
Send ping requests rapidly
routing_instance
str no none
Name of the source routing instance from which the ping is originated. If not specified, the default routing instance is used.
size
int no none (default size for device)
The size of the ICMP payload of the ping.
Total size of the IP packet is size + the 20 byte IP header + the 8 byte ICMP header. Therefore, size of 1472 generates an IP packet of size 1500.
source
str no none
The IP address, or hostname if DNS is configured on the Junos device, used as the source address of the ping. If not specified, the Junos default algorithm for determining the source address is used.

aliases: source_ip, source_host, src, src_ip, src_host
ttl
int no none (default ttl for device)
Maximum number of IP routers (hops) allowed between source and destination.

Examples

---
- name: Examples of juniper_junos_ping
  hosts: junos-all
  connection: local
  gather_facts: no
  roles:
    - Juniper.junos

  tasks:
    - name: Ping 192.68.1.1 with default parameters. Fails if any packets lost.
      juniper_junos_ping:
        dest: "192.68.1.1"

    - name: Ping 192.68.1.1 Allow 50% packet loss. Register response.
      juniper_junos_ping:
        dest: "192.68.1.1"
        acceptable_percent_loss: 50
      register: response
    - name: Print all keys in the response.
      debug:
        var: response

    - name: Ping 192.68.1.1. Send 20 packets. Register response.
      juniper_junos_ping:
        dest: "192.68.1.1"
        count: 20
      register: response
    - name: Print packet sent from the response.
      debug:
        var: response.packets_sent

    - name: Ping 192.68.1.1. Send 10 packets wihtout rapid. Register response.
      juniper_junos_ping:
        dest: "192.68.1.1"
        count: 10
        rapid: false
      register: response
    - name: Print the average round-trip-time from the response.
      debug:
        var: response.rtt_average

    - name: Ping www.juniper.net with ttl 15. Register response.
      juniper_junos_ping:
        dest: "www.juniper.net"
        ttl: 15
      register: response
    - name: Print the packet_loss percentage from the response.
      debug:
        var: response.packet_loss

    - name: Ping 192.68.1.1 with IP packet size of 1500. Register response.
      juniper_junos_ping:
        dest: "192.68.1.1"
        size: 1472
      register: response
    - name: Print the packets_received from the response.
      debug:
        var: response.packets_received

    - name: Ping 192.68.1.1 with do-not-fragment bit set. Register response.
      juniper_junos_ping:
        dest: "192.68.1.1"
        do_not_fragment: true
      register: response
    - name: Print the maximum round-trip-time from the response.
      debug:
        var: response.rtt_maximum

    - name: Ping 192.68.1.1 with source set to 192.68.1.2. Register response.
      juniper_junos_ping:
        dest: "192.68.1.1"
        source: "192.68.1.2"
      register: response
    - name: Print the source from the response.
      debug:
        var: response.source

    - name: Ping 192.168.1.1 from the red routing-instance.
      juniper_junos_ping:
        dest: "192.168.1.1"
        routing_instance: "red"

    - name: Ping the all-hosts multicast address from the ge-0/0/0.0 interface
      juniper_junos_ping:
        dest: "224.0.0.1"
        interface: "ge-0/0/0.0"

Return Values

name description returned type sample
acceptable_percent_loss
The acceptable packet loss (as a percentage) for this task as specified by the acceptable_percent_loss option.
when ping successfully executed, even if the acceptable_percent_loss was exceeded. str
changed
Indicates if the device's state has changed. Since this module doesn't change the operational or configuration state of the device, the value is always set to false.
when ping successfully executed, even if the acceptable_percent_loss was exceeded. bool
count
The number of pings sent, as specified by the count option.
when ping successfully executed, even if the acceptable_percent_loss was exceeded. str
do_not_fragment
Whether or not the do not fragment bit was set on the pings sent, as specified by the do_not_fragment option.
when ping successfully executed, even if the acceptable_percent_loss was exceeded. bool
failed
Indicates if the task failed.
always bool
host
The destination IP/host of the pings sent as specified by the dest option.
Keys dest and dest_ip are also returned for backwards compatibility.
when ping successfully executed, even if the acceptable_percent_loss was exceeded. str
interface
The source interface of the pings sent as specified by the interface option.
when ping successfully executed and the interface option was specified, even if the acceptable_percent_loss was exceeded. str
msg
A human-readable message indicating the result.
always str
packet_loss
The percentage of packets lost.
when ping successfully executed, even if the acceptable_percent_loss was exceeded. str
packets_received
The number of packets received.
when ping successfully executed, even if the acceptable_percent_loss was exceeded. str
packets_sent
The number of packets sent.
when ping successfully executed, even if the acceptable_percent_loss was exceeded. str
rapid
Whether or not the pings were sent rapidly, as specified by the rapid option.
when ping successfully executed, even if the acceptable_percent_loss was exceeded. bool
routing_instance
The routing-instance from which the pings were sent as specified by the routing_instance option.
when ping successfully executed and the routing_instance option was specified, even if the acceptable_percent_loss was exceeded. str
rtt_average
The average round-trip-time, in microseconds, of all ping responses received.
when ping successfully executed, and packet_loss < 100%. str
rtt_maximum
The maximum round-trip-time, in microseconds, of all ping responses received.
when ping successfully executed, and packet_loss < 100%. str
rtt_minimum
The minimum round-trip-time, in microseconds, of all ping responses received.
when ping successfully executed, and packet_loss < 100%. str
rtt_stddev
The standard deviation of round-trip-time, in microseconds, of all ping responses received.
when ping successfully executed, and packet_loss < 100%. str
size
The size in bytes of the ICMP payload on the pings sent as specified by the size option.
Total size of the IP packet is size + the 20 byte IP header + the 8 byte ICMP header. Therefore, size of 1472 generates an IP packet of size 1500.
when ping successfully executed and the size option was specified, even if the acceptable_percent_loss was exceeded. str
source
The source IP/host of the pings sent as specified by the source option.
Key source_ip is also returned for backwards compatibility.
when ping successfully executed and the source option was specified, even if the acceptable_percent_loss was exceeded. str
timeout
The number of seconds to wait for a response from the ping RPC.
when ping successfully executed, even if the acceptable_percent_loss was exceeded. str
ttl
The time-to-live set on the pings sent as specified by the ttl option.
when ping successfully executed and the ttl option was specified, even if the acceptable_percent_loss was exceeded. str
warnings
A list of warning strings, if any, produced from the ping.
when warnings are present list


Notes

Note

  • The NETCONF system service must be enabled on the target Junos device.

Author

  • Juniper Networks - Stacy Smith (@stacywsmith)

Status

This module is flagged as stableinterface which means that the maintainers for this module guarantee that no backward incompatible interface changes will be made.