genode/repos/os/src/app/ping
Emery Hemingway a7a0d3fe63 Refactor Tup, flatten output directories
Make no attempt to replicate the depot layout.
2019-10-28 11:32:29 +01:00
..
config.xsd base: define generic config XSD types globally 2018-08-28 16:48:47 +02:00
dhcp_client.cc Clang: do not use angle brackets for local includes 2019-10-04 00:47:17 +02:00
dhcp_client.h timeout: use uint64_t for all plain time values 2019-05-06 16:15:26 +02:00
ipv4_address_prefix.cc Clang: do not use angle brackets for local includes 2019-10-04 00:47:17 +02:00
ipv4_address_prefix.h ping: dynamic IP configuration 2018-05-30 13:36:12 +02:00
ipv4_config.cc Clang: do not use angle brackets for local includes 2019-10-04 00:47:17 +02:00
ipv4_config.h Clang: do not use angle brackets for local includes 2019-10-04 00:47:17 +02:00
main.cc Clang: do not use angle brackets for local includes 2019-10-04 00:47:17 +02:00
nic.cc Clang: do not use angle brackets for local includes 2019-10-04 00:47:17 +02:00
nic.h ping: dynamic IP configuration 2018-05-30 13:36:12 +02:00
protocol.h ping: support UDP 2018-05-30 13:36:12 +02:00
README ping: support UDP 2018-05-30 13:36:12 +02:00
target.mk ping: dynamic IP configuration 2018-05-30 13:36:12 +02:00
Tupfile Refactor Tup, flatten output directories 2019-10-28 11:32:29 +01:00
xml_node.cc Clang: do not use angle brackets for local includes 2019-10-04 00:47:17 +02:00
xml_node.h timeout: use uint64_t for all plain time values 2019-05-06 16:15:26 +02:00

The 'ping' component continuously sends ICMP Echo or UDP requests to a given
IP host and waits for the corresponding ICMP Echo or UDP replies. For each
successfull ICMP Echo or UDP handshake it prints a short statistic. The ICMP
data field gets filled with the letters of the alphabet ('a' to 'z') repeatedly.


Configuration
~~~~~~~~~~~~~

This is an example configuration of the component which shows the default
value for each attribute except 'config.dst_ip' and 'config.interface':

! <config interface="10.0.0.72/24"
!         dst_ip="10.0.0.24"
!         dst_port="50000"
!         protocol="icmp"
!         period_sec="5"
!         verbose="no"
!         count="5" />

This is a short description of the tags and attributes:

:config.interface:
  Optional. IP address and subnet of the component. If not set, the component
  requests and maintains the IP configuration via DHCP.

:config.gateway:
  Optional. IP address of the gateway of the IP subnet.

:config.dst_ip:
  Mandatory. IP address of the target host.

:config.period_sec:
  Optional. Length of send interval in seconds.

:config.verbose:
  Optional. Toggles wether the component shall log debugging information.

:config.count:
  Optional. After how many successful pings the component exits successfully.

:config.dst_port:
  Optional. Destination port resp. ICMP query ID to use.

:config.protocol:
  Optional. Protocol to ping with. Can be one of 'icmp', 'udp'.


Sessions
~~~~~~~~

This is an overview of the sessions required and provided by the
component apart from the environment sessions:

* Requires one Timer session.


Examples
~~~~~~~~

Examples of how to use the ping component can be found in the test scripts
'os/run/ping.run' and 'os/run/ping_nic_router.run'.