Go to the source code of this file.
|
uword | udp_ping_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f) |
| UDP-Ping Process node. More...
|
|
int | ip6_hbh_ioam_trace_data_list_handler (vlib_buffer_t *b, ip6_header_t *ip, ip6_hop_by_hop_option_t *opt) |
|
static u8 * | format_udp_ping_trace (u8 *s, va_list *args) |
|
void | udp_ping_calculate_timer_interval (void) |
|
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) |
|
uword | unformat_port_range (unformat_input_t *input, va_list *args) |
|
static clib_error_t * | set_udp_ping_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | show_udp_ping_summary_cmd_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
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. More...
|
|
void | udp_ping_local_analyse (vlib_node_runtime_t *node, vlib_buffer_t *b0, ip6_header_t *ip0, ip6_hop_by_hop_header_t *hbh0, u16 *next0) |
| UDP-Ping request/response handler function. More...
|
|
static uword | udp_ping_local_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
| udp ping request/response packet receive node. More...
|
|
static clib_error_t * | udp_ping_init (vlib_main_t *vm) |
|
◆ foreach_udp_ping_error
#define foreach_udp_ping_error _(BADHBH, "Malformed hop-by-hop header") |
◆ udp_ping_error_t
◆ 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.
◆ format_udp_ping_trace()
static u8* format_udp_ping_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ ip46_udp_ping_set_flow()
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 |
|
) |
| |
◆ ip6_hbh_ioam_trace_data_list_handler()
◆ set_udp_ping_command_fn()
◆ show_udp_ping_summary_cmd_fn()
◆ udp_ping_analyse_hbh()
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 435 of file udp_ping_node.c.
◆ udp_ping_calculate_timer_interval()
void udp_ping_calculate_timer_interval |
( |
void |
| ) |
|
◆ udp_ping_init()
◆ udp_ping_local_analyse()
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 522 of file udp_ping_node.c.
◆ udp_ping_local_node_fn()
udp ping request/response packet receive node.
- Node Identifier:
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.
- Parameters
-
- Graph mechanics: buffer, next index usage
Uses:
udp_ping_local_analyse(node, p0, ip0, hbh0, &next0)
- Checks packet type - request/respnse and process them.
Next Index:
- Dispatches the packet to ip6-lookup/ip6-drop depending on type of packet.
Definition at line 638 of file udp_ping_node.c.
◆ udp_ping_process()
UDP-Ping Process node.
- Node Identifier:
udp-ping-process
This is process node which wakes up when periodically to send out udp probe packets for all configured sessions.
- Parameters
-
Definition at line 399 of file udp_ping_node.c.
◆ unformat_port_range()
◆ set_udp_ping_command
Initial value:=
{
.path = "set udp-ping",
.short_help =
"set udp-ping src <local IPv6 address> src-port-range <local port range> \
dst <remote IPv6 address> dst-port-range <destination port range> \
interval <time interval in sec for which ping packet will be sent> \
[disable]",
}
static clib_error_t * set_udp_ping_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (set_udp_ping_command)
Definition at line 305 of file udp_ping_node.c.
◆ show_udp_ping_cmd
Initial value:=
{
.path = "show udp-ping summary",
.short_help = "Summary of udp-ping",
}
static clib_error_t * show_udp_ping_summary_cmd_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (show_udp_ping_cmd)
Definition at line 378 of file udp_ping_node.c.
◆ udp_ping_error_strings
char* udp_ping_error_strings[] |
|
static |
Initial value:= {
#define _(sym,string)
}
#define foreach_udp_ping_error
Definition at line 52 of file udp_ping_node.c.
◆ udp_ping_local
Initial value:=
{
.name = "udp-ping-local",
.vector_size =
sizeof (
u32),
.next_nodes =
{
},
}
static char * udp_ping_error_strings[]
static u8 * format_udp_ping_trace(u8 *s, va_list *args)
static uword udp_ping_local_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
udp ping request/response packet receive node.
(constructor) VLIB_REGISTER_NODE (udp_ping_local)
Definition at line 797 of file udp_ping_node.c.
◆ udp_ping_main
◆ udp_ping_node
Initial value:=
{
.name = "udp-ping-process",
}
uword udp_ping_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
UDP-Ping Process node.
(constructor) VLIB_REGISTER_NODE (udp_ping_node)
Definition at line 97 of file udp_ping_node.c.