FD.io VPP
v18.07.1-11-g31aa6f2
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | udp_ping_trace_t |
Enumerations | |
enum | udp_ping_next_t { UDP_PING_NEXT_DROP, UDP_PING_NEXT_PUNT, UDP_PING_NEXT_UDP_LOOKUP, UDP_PING_NEXT_ICMP, UDP_PING_NEXT_IP6_LOOKUP, UDP_PING_NEXT_IP6_DROP, UDP_PING_N_NEXT } |
Variables | |
udp_ping_main_t | udp_ping_main |
static vlib_node_registration_t | udp_ping_node |
(constructor) VLIB_REGISTER_NODE (udp_ping_node) More... | |
static vlib_cli_command_t | set_udp_ping_command |
(constructor) VLIB_CLI_COMMAND (set_udp_ping_command) More... | |
static vlib_cli_command_t | show_udp_ping_cmd |
(constructor) VLIB_CLI_COMMAND (show_udp_ping_cmd) More... | |
static vlib_node_registration_t | udp_ping_local |
(constructor) VLIB_REGISTER_NODE (udp_ping_local) More... | |
enum udp_ping_next_t |
Enumerator | |
---|---|
UDP_PING_NEXT_DROP | |
UDP_PING_NEXT_PUNT | |
UDP_PING_NEXT_UDP_LOOKUP | |
UDP_PING_NEXT_ICMP | |
UDP_PING_NEXT_IP6_LOOKUP | |
UDP_PING_NEXT_IP6_DROP | |
UDP_PING_N_NEXT |
Definition at line 30 of file udp_ping_node.c.
void ip46_udp_ping_set_flow | ( | ip46_address_t | src, |
ip46_address_t | dst, | ||
u16 | start_src_port, | ||
u16 | end_src_port, | ||
u16 | start_dst_port, | ||
u16 | end_dst_port, | ||
u16 | interval, | ||
u8 | fault_det, | ||
u8 | is_disable | ||
) |
Definition at line 115 of file udp_ping_node.c.
int ip6_hbh_ioam_trace_data_list_handler | ( | vlib_buffer_t * | b, |
ip6_header_t * | ip, | ||
ip6_hop_by_hop_option_t * | opt | ||
) |
Definition at line 254 of file ip6_ioam_trace.c.
|
static |
|
static |
void udp_ping_analyse_hbh | ( | vlib_buffer_t * | b0, |
u32 | flow_id, | ||
u16 | src_port, | ||
u16 | dst_port, | ||
ip6_hop_by_hop_option_t * | opt0, | ||
ip6_hop_by_hop_option_t * | limit0, | ||
u16 | len | ||
) |
HopByHop analyse function for udp-ping response.
Walks through all hbh options present in udp-ping response and uses analyser library for the analysis.
Definition at line 418 of file udp_ping_node.c.
void udp_ping_calculate_timer_interval | ( | void | ) |
Definition at line 89 of file udp_ping_node.c.
|
static |
void udp_ping_local_analyse | ( | vlib_buffer_t * | b0, |
ip6_header_t * | ip0, | ||
ip6_hop_by_hop_header_t * | hbh0, | ||
u16 * | next0 | ||
) |
UDP-Ping request/response handler function.
Checks udp-ping packet type - request/response and handles them. If not udp-ping packet then, strips off hbh options and enques packet to protocol registered node to enable next protocol processing.
Definition at line 505 of file udp_ping_node.c.
|
static |
udp ping request/response packet receive node.
udp-ping-local
This function receives udp ping request/response packets and process them. For request packets, response is created and sent. For response packets, they are analysed and results stored.
vm | vlib_main_t corresponding to the current thread. |
node | vlib_node_runtime_t data for this node. |
frame | vlib_frame_t whose contents should be dispatched. |
Uses:
udp_ping_local_analyse(p0, ip0, hbh0, &next0)
Next Index:
Definition at line 610 of file udp_ping_node.c.
uword udp_ping_process | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | rt, | ||
vlib_frame_t * | f | ||
) |
UDP-Ping Process node.
udp-ping-process
This is process node which wakes up when periodically to send out udp probe packets for all configured sessions.
vm | vlib_main_t corresponding to the current thread. |
node | vlib_node_runtime_t data for this node. |
frame | vlib_frame_t whose contents should be dispatched. |
Definition at line 382 of file udp_ping_node.c.
uword unformat_port_range | ( | unformat_input_t * | input, |
va_list * | args | ||
) |
Definition at line 190 of file udp_ping_node.c.
|
static |
(constructor) VLIB_CLI_COMMAND (set_udp_ping_command)
Definition at line 288 of file udp_ping_node.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_udp_ping_cmd)
Definition at line 361 of file udp_ping_node.c.
|
static |
(constructor) VLIB_REGISTER_NODE (udp_ping_local)
Definition at line 769 of file udp_ping_node.c.
udp_ping_main_t udp_ping_main |
Definition at line 41 of file udp_ping_node.c.
|
static |
(constructor) VLIB_REGISTER_NODE (udp_ping_node)
Definition at line 80 of file udp_ping_node.c.