FD.io VPP  v18.07.1-19-g511ce25
Vector Packet Processing
igmp_input.c File Reference
+ Include dependency graph for igmp_input.c:

Go to the source code of this file.

Data Structures

struct  igmp_input_trace_t
 

Enumerations

enum  igmp_input_next_t { IGMP_INPUT_NEXT_DROP, IGMP_INPUT_NEXT_PARSE_QUERY, IGMP_INPUT_NEXT_PARSE_REPORT, IGMP_INPUT_N_NEXT }
 
enum  igmp_parse_query_next_t { IGMP_PARSE_QUERY_NEXT_DROP, IGMP_PARSE_QUERY_N_NEXT }
 
enum  igmp_parse_report_next_t { IGMP_PARSE_REPORT_NEXT_DROP, IGMP_PARSE_REPORT_N_NEXT }
 

Functions

static u8format_igmp_input_trace (u8 *s, va_list *va)
 
static u8format_igmp_parse_report_trace (u8 *s, va_list *va)
 
static u8format_igmp_parse_query_trace (u8 *s, va_list *va)
 
static uword igmp_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword igmp_parse_query (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword igmp_parse_report (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static clib_error_tigmp_input_init (vlib_main_t *vm)
 

Variables

char * igmp_error_strings []
 
vlib_node_registration_t igmp_input_node
 (constructor) VLIB_REGISTER_NODE (igmp_input_node) More...
 
vlib_node_registration_t igmp_parse_query_node
 (constructor) VLIB_REGISTER_NODE (igmp_parse_query_node) More...
 
vlib_node_registration_t igmp_parse_report_node
 (constructor) VLIB_REGISTER_NODE (igmp_parse_report_node) More...
 

Enumeration Type Documentation

Enumerator
IGMP_INPUT_NEXT_DROP 
IGMP_INPUT_NEXT_PARSE_QUERY 
IGMP_INPUT_NEXT_PARSE_REPORT 
IGMP_INPUT_N_NEXT 

Definition at line 34 of file igmp_input.c.

Enumerator
IGMP_PARSE_QUERY_NEXT_DROP 
IGMP_PARSE_QUERY_N_NEXT 

Definition at line 42 of file igmp_input.c.

Enumerator
IGMP_PARSE_REPORT_NEXT_DROP 
IGMP_PARSE_REPORT_N_NEXT 

Definition at line 48 of file igmp_input.c.

Function Documentation

static u8* format_igmp_input_trace ( u8 s,
va_list *  va 
)
static

Definition at line 69 of file igmp_input.c.

+ Here is the call graph for this function:

static u8* format_igmp_parse_query_trace ( u8 s,
va_list *  va 
)
static

Definition at line 97 of file igmp_input.c.

+ Here is the call graph for this function:

static u8* format_igmp_parse_report_trace ( u8 s,
va_list *  va 
)
static

Definition at line 83 of file igmp_input.c.

+ Here is the call graph for this function:

static uword igmp_input ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 111 of file igmp_input.c.

+ Here is the call graph for this function:

static clib_error_t* igmp_input_init ( vlib_main_t vm)
static

Definition at line 446 of file igmp_input.c.

+ Here is the call graph for this function:

static uword igmp_parse_query ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 242 of file igmp_input.c.

+ Here is the call graph for this function:

static uword igmp_parse_report ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 340 of file igmp_input.c.

+ Here is the call graph for this function:

Variable Documentation

char* igmp_error_strings[]
Initial value:
= {
#define _(sym,string)
}
#define foreach_igmp_error
Definition: igmp_error.h:21

Definition at line 54 of file igmp_input.c.

vlib_node_registration_t igmp_input_node
Initial value:
=
{
.function = igmp_input,
.name = "igmp-input",
.vector_size = sizeof (u32),
.format_buffer = format_igmp_header,
.format_trace = format_igmp_input_trace,
.n_errors = IGMP_N_ERROR,
.error_strings = igmp_error_strings,
.n_next_nodes = IGMP_INPUT_N_NEXT,
.next_nodes = {
[IGMP_INPUT_NEXT_DROP] = "error-drop",
[IGMP_INPUT_NEXT_PARSE_QUERY] = "igmp-parse-query",
[IGMP_INPUT_NEXT_PARSE_REPORT] = "igmp-parse-report",
}
}
static uword igmp_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: igmp_input.c:111
char * igmp_error_strings[]
Definition: igmp_input.c:54
static u8 * format_igmp_input_trace(u8 *s, va_list *va)
Definition: igmp_input.c:69
unsigned int u32
Definition: types.h:88
u8 * format_igmp_header(u8 *s, va_list *args)
Definition: igmp_format.c:65

(constructor) VLIB_REGISTER_NODE (igmp_input_node)

Definition at line 220 of file igmp_input.c.

vlib_node_registration_t igmp_parse_query_node
Initial value:
=
{
.function = igmp_parse_query,
.name = "igmp-parse-query",
.vector_size = sizeof (u32),
.format_buffer = format_igmp_query_v3,
.n_errors = IGMP_N_ERROR,
.error_strings = igmp_error_strings,
.n_next_nodes = IGMP_PARSE_QUERY_N_NEXT,
.next_nodes = {
[IGMP_PARSE_QUERY_NEXT_DROP] = "error-drop",
}
}
char * igmp_error_strings[]
Definition: igmp_input.c:54
unsigned int u32
Definition: types.h:88
static u8 * format_igmp_parse_query_trace(u8 *s, va_list *va)
Definition: igmp_input.c:97
u8 * format_igmp_query_v3(u8 *s, va_list *args)
Definition: igmp_format.c:131
static uword igmp_parse_query(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: igmp_input.c:242

(constructor) VLIB_REGISTER_NODE (igmp_parse_query_node)

Definition at line 320 of file igmp_input.c.

vlib_node_registration_t igmp_parse_report_node
Initial value:
=
{
.function = igmp_parse_report,
.name = "igmp-parse-report",
.vector_size = sizeof (u32),
.format_buffer = format_igmp_report_v3,
.n_errors = IGMP_N_ERROR,
.error_strings = igmp_error_strings,
.n_next_nodes = IGMP_PARSE_REPORT_N_NEXT,
.next_nodes = {
[IGMP_PARSE_REPORT_NEXT_DROP] = "error-drop",
}
}
char * igmp_error_strings[]
Definition: igmp_input.c:54
static uword igmp_parse_report(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: igmp_input.c:340
u8 * format_igmp_report_v3(u8 *s, va_list *args)
Definition: igmp_format.c:85
unsigned int u32
Definition: types.h:88
static u8 * format_igmp_parse_report_trace(u8 *s, va_list *va)
Definition: igmp_input.c:83

(constructor) VLIB_REGISTER_NODE (igmp_parse_report_node)

Definition at line 426 of file igmp_input.c.