FD.io VPP  v21.01.1
Vector Packet Processing
igmp_api.c File Reference
+ Include dependency graph for igmp_api.c:

Go to the source code of this file.

Data Structures

struct  igmp_ssm_range_walk_ctx_t_
 

Macros

#define IGMP_MSG_ID(_id)   (_id + igmp_main.msg_id_base)
 

Typedefs

typedef struct igmp_ssm_range_walk_ctx_t_ igmp_ssm_range_walk_ctx_t
 

Functions

static void vl_api_igmp_listen_t_handler (vl_api_igmp_listen_t *mp)
 
static void vl_api_igmp_enable_disable_t_handler (vl_api_igmp_enable_disable_t *mp)
 
static void vl_api_igmp_proxy_device_add_del_t_handler (vl_api_igmp_proxy_device_add_del_t *mp)
 
static void vl_api_igmp_proxy_device_add_del_interface_t_handler (vl_api_igmp_proxy_device_add_del_interface_t *mp)
 
static void send_igmp_details (vl_api_registration_t *rp, igmp_main_t *im, igmp_config_t *config, igmp_group_t *group, igmp_src_t *src, u32 context)
 
static void igmp_config_dump (igmp_main_t *im, vl_api_registration_t *rp, u32 context, igmp_config_t *config)
 
static void vl_api_igmp_dump_t_handler (vl_api_igmp_dump_t *mp)
 
static void vl_api_igmp_clear_interface_t_handler (vl_api_igmp_clear_interface_t *mp)
 
static vl_api_group_prefix_type_t igmp_group_type_int_to_api (igmp_group_prefix_type_t t)
 
static igmp_group_prefix_type_t igmp_group_type_api_to_int (vl_api_group_prefix_type_t t)
 
static void vl_api_igmp_group_prefix_set_t_handler (vl_api_igmp_group_prefix_set_t *mp)
 
static walk_rc_t igmp_ssm_range_walk_dump (const fib_prefix_t *pfx, igmp_group_prefix_type_t type, void *args)
 
static void vl_api_igmp_group_prefix_dump_t_handler (vl_api_igmp_dump_t *mp)
 
static vpe_client_registration_tigmp_api_client_lookup (igmp_main_t *im, u32 client_index)
 
static void vl_api_want_igmp_events_t_handler (vl_api_want_igmp_events_t *mp)
 
static clib_error_twant_igmp_events_reaper (u32 client_index)
 
 VL_MSG_API_REAPER_FUNCTION (want_igmp_events_reaper)
 
void send_igmp_event (vl_api_registration_t *rp, igmp_filter_mode_t filter, u32 sw_if_index, const ip46_address_t *saddr, const ip46_address_t *gaddr)
 
void igmp_event (igmp_filter_mode_t filter, u32 sw_if_index, const ip46_address_t *saddr, const ip46_address_t *gaddr)
 Send an IGMP event to listening parties. More...
 
static clib_error_tigmp_plugin_api_hookup (vlib_main_t *vm)
 
 VLIB_API_INIT_FUNCTION (igmp_plugin_api_hookup)
 

Macro Definition Documentation

◆ IGMP_MSG_ID

#define IGMP_MSG_ID (   _id)    (_id + igmp_main.msg_id_base)

Definition at line 32 of file igmp_api.c.

Typedef Documentation

◆ igmp_ssm_range_walk_ctx_t

Function Documentation

◆ igmp_api_client_lookup()

static vpe_client_registration_t* igmp_api_client_lookup ( igmp_main_t im,
u32  client_index 
)
static

Definition at line 300 of file igmp_api.c.

+ Here is the caller graph for this function:

◆ igmp_config_dump()

static void igmp_config_dump ( igmp_main_t im,
vl_api_registration_t rp,
u32  context,
igmp_config_t config 
)
static

Definition at line 151 of file igmp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ igmp_event()

void igmp_event ( igmp_filter_mode_t  filter,
u32  sw_if_index,
const ip46_address_t *  saddr,
const ip46_address_t *  gaddr 
)

Send an IGMP event to listening parties.

Parameters
filtermode
sw_if_index
saddr
gaddr

Definition at line 388 of file igmp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ igmp_group_type_api_to_int()

static igmp_group_prefix_type_t igmp_group_type_api_to_int ( vl_api_group_prefix_type_t  t)
static

Definition at line 230 of file igmp_api.c.

+ Here is the caller graph for this function:

◆ igmp_group_type_int_to_api()

static vl_api_group_prefix_type_t igmp_group_type_int_to_api ( igmp_group_prefix_type_t  t)
static

Definition at line 216 of file igmp_api.c.

+ Here is the caller graph for this function:

◆ igmp_plugin_api_hookup()

static clib_error_t* igmp_plugin_api_hookup ( vlib_main_t vm)
static

Definition at line 418 of file igmp_api.c.

+ Here is the call graph for this function:

◆ igmp_ssm_range_walk_dump()

static walk_rc_t igmp_ssm_range_walk_dump ( const fib_prefix_t pfx,
igmp_group_prefix_type_t  type,
void *  args 
)
static

Definition at line 263 of file igmp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ send_igmp_details()

static void send_igmp_details ( vl_api_registration_t rp,
igmp_main_t im,
igmp_config_t config,
igmp_group_t group,
igmp_src_t src,
u32  context 
)
static

Definition at line 132 of file igmp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ send_igmp_event()

void send_igmp_event ( vl_api_registration_t rp,
igmp_filter_mode_t  filter,
u32  sw_if_index,
const ip46_address_t *  saddr,
const ip46_address_t *  gaddr 
)

Definition at line 370 of file igmp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vl_api_igmp_clear_interface_t_handler()

static void vl_api_igmp_clear_interface_t_handler ( vl_api_igmp_clear_interface_t mp)
static

Definition at line 202 of file igmp_api.c.

+ Here is the call graph for this function:

◆ vl_api_igmp_dump_t_handler()

static void vl_api_igmp_dump_t_handler ( vl_api_igmp_dump_t mp)
static

Definition at line 170 of file igmp_api.c.

+ Here is the call graph for this function:

◆ vl_api_igmp_enable_disable_t_handler()

static void vl_api_igmp_enable_disable_t_handler ( vl_api_igmp_enable_disable_t mp)
static

Definition at line 78 of file igmp_api.c.

+ Here is the call graph for this function:

◆ vl_api_igmp_group_prefix_dump_t_handler()

static void vl_api_igmp_group_prefix_dump_t_handler ( vl_api_igmp_dump_t mp)
static

Definition at line 283 of file igmp_api.c.

+ Here is the call graph for this function:

◆ vl_api_igmp_group_prefix_set_t_handler()

static void vl_api_igmp_group_prefix_set_t_handler ( vl_api_igmp_group_prefix_set_t mp)
static

Definition at line 244 of file igmp_api.c.

+ Here is the call graph for this function:

◆ vl_api_igmp_listen_t_handler()

static void vl_api_igmp_listen_t_handler ( vl_api_igmp_listen_t mp)
static

Definition at line 35 of file igmp_api.c.

+ Here is the call graph for this function:

◆ vl_api_igmp_proxy_device_add_del_interface_t_handler()

static void vl_api_igmp_proxy_device_add_del_interface_t_handler ( vl_api_igmp_proxy_device_add_del_interface_t mp)
static

Definition at line 114 of file igmp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vl_api_igmp_proxy_device_add_del_t_handler()

static void vl_api_igmp_proxy_device_add_del_t_handler ( vl_api_igmp_proxy_device_add_del_t mp)
static

Definition at line 95 of file igmp_api.c.

+ Here is the call graph for this function:

◆ vl_api_want_igmp_events_t_handler()

static void vl_api_want_igmp_events_t_handler ( vl_api_want_igmp_events_t mp)
static

Definition at line 313 of file igmp_api.c.

+ Here is the call graph for this function:

◆ VL_MSG_API_REAPER_FUNCTION()

VL_MSG_API_REAPER_FUNCTION ( want_igmp_events_reaper  )
+ Here is the caller graph for this function:

◆ VLIB_API_INIT_FUNCTION()

VLIB_API_INIT_FUNCTION ( igmp_plugin_api_hookup  )
+ Here is the caller graph for this function:

◆ want_igmp_events_reaper()

static clib_error_t* want_igmp_events_reaper ( u32  client_index)
static

Definition at line 350 of file igmp_api.c.

+ Here is the call graph for this function: