## UDP-Pinger for IPv6 with IOAM {#ioam_udppinger_doc} Traditionally to detect and isolate network faults, ping and traceroute are used. But in a complex network with large number of U/E-CMP being availble, it would be difficult to detect and isolate faults in the network. Also detecting loss/reordering/duplication of packets becomes much harder. [draft-lapukhov-dataplane-probe] uses active probes to solve the above mentioned problems. UDP-Pinger with IOAM, would combine [draft-lapukhov-dataplane-probe] with [IOAM-ietf-data] and [IOAM-ietf-transport] to provide a more sophisticated way for detection/isolation of network faults and enable network telemetry. UDP-Pinger for IPv6 does: - Crafts and sends Probe packets from source node to destination. - Probe packet is an IPv6 packet with HBH header to collect IOAM data and UDP header followed by payload. - UDP source and destination ports are varied to cover all possible paths in network as well as to simulate real application traffic. - IOAM Trace option is used to record the path Probe packets take and also for measuring latency. - IOAM E2E option is used to measure packet loss, reordering and duplicate packets. - UDP payload follows packet format in [draft-lapukhov-dataplane-probe] and is used on source/destination nodes to identify Probe/Reply packets. - Destination node on receiving Probe packet sends a reply back to source. Reply packet is formed by exchanging source and destination IP addresses and packet type in UDP payload. - Source node on receiving Reply packet can trace packet Path and measure latency, packet loss, reordering, duplication. - On detecting fault in network, Probe packets are sent with loopback flag set. On seeing loopback flag, each device in network along with forwarding the packet, also sends a copy back to source. With this Source node can corelate and detect the faulty node/link. ## Configuration Following section describes how to enable UDP-Pinger on a VPP node. Please note that IOAM configurations as mentioned in @subpage ioam_ipv6_doc have to be made prior to starting any of the below configurations. ### UDP-Pinger Enable/Disable For configuring UDP-Pinger between two end-points, following parametrs need to be provided by using the CLI: set udp-ping src src-port-range dst dst-port-range interval