35 #define IGMP_DEFAULT_ROBUSTNESS_VARIABLE (2) 37 #define IGMP_DBG(...) \ 38 vlib_log_debug (igmp_main.logger, __VA_ARGS__); 45 #if CLIB_ARCH_IS_BIG_ENDIAN 46 #define IGMP_GENERAL_QUERY_ADDRESS (0xE0000001) 47 #define IGMP_MEMBERSHIP_REPORT_ADDRESS (0xE0000016) 48 #define IGMP_SSM_DEFAULT (0xE8000000) 50 #define IGMP_GENERAL_QUERY_ADDRESS (0x010000E0) 51 #define IGMP_MEMBERSHIP_REPORT_ADDRESS (0x160000E0) 52 #define IGMP_SSM_DEFAULT (0x000000E8) 56 #define group_ptr(p, l) ((igmp_membership_group_v3_t *)((u8*)(p) + (l))) 57 #define group_cptr(p, l) ((const igmp_membership_group_v3_t *)((u8*)(p) + (l))) 131 const ip46_address_t * saddr,
const ip46_address_t * gaddr);
142 const ip46_address_t * saddr,
const ip46_address_t * gaddr);
igmp_config_t * configs
pool of configs
u16 msg_id_base
API base message ID.
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.
vlib_log_class_t logger
logger - VLIB log class
collection of data related to IGMP
int igmp_listen(vlib_main_t *vm, igmp_filter_mode_t filter, u32 sw_if_index, const ip46_address_t *saddr, const ip46_address_t *gaddr)
igmp listen Called by a host to request reception of multicast packets
vpe_client_registration_t * api_clients
API client registered for events.
u32 * igmp_config_by_sw_if_index
per-interface DB of configs
enum igmp_filter_mode_t_ igmp_filter_mode_t
u32 * n_configs_per_mfib_index
the number of igmp configs for each mfib_index (VRF)
int igmp_enable_disable(u32 sw_if_index, u8 enable, igmp_mode_t mode)
IGMP interface enable/disable.
IGMP interface configuration.
igmp_group_t * groups
pool of groups
IGMP group A multicast group address for which reception has been requested.
enum igmp_mode_t_ igmp_mode_t
struct igmp_main_t_ igmp_main_t
collection of data related to IGMP
uword * igmp_api_client_by_client_index
igmp_src_t * srcs
pool of sources
IGMP source The representation of a specified source address with in multicast group.