18 #ifndef __IGMP_CONFIG_H__ 19 #define __IGMP_CONFIG_H__ 38 #define IGMP_CONFIG_N_TIMERS (IGMP_CONFIG_TIMER_GENERAL_QUERY + 1) 76 #define FOR_EACH_GROUP(_group, _config, _body) \ 78 igmp_key_t *__key__; \ 80 hash_foreach_mem(__key__, __gid__, _config->igmp_group_by_key, \ 82 _group = pool_elt_at_index(igmp_main.groups, __gid__); \ 83 do { _body; } while (0); \ igmp_timer_id_t timers[IGMP_CONFIG_N_TIMERS]
A vector of scheduled query-response timers.
igmp_group_t * igmp_group_lookup(igmp_config_t *config, const igmp_key_t *key)
igmp group lookup
struct igmp_config_t_ igmp_config_t
IGMP interface configuration.
enum igmp_config_timer_type_t_ igmp_config_timer_type_t
uword * igmp_group_by_key
Database of groups joined on the link.
#define IGMP_CONFIG_N_TIMERS
u32 igmp_timer_id_t
The id of a running timer.
u32 adj_index_t
An index for adjacencies.
On expiry send a general report.
void igmp_clear_config(igmp_config_t *config)
igmp clear config
u32 igmp_config_index(const igmp_config_t *c)
Get the pool index for a config.
ip46_address_t igmp_key_t
IGMP Key Used to index groups within an interface config and sources within a list.
u8 robustness_var
Robustness variable (section 5.1)
IGMP interface configuration.
igmp_config_t * igmp_config_lookup(u32 sw_if_index)
igmp config lookup
IGMP group A multicast group address for which reception has been requested.
igmp_config_timer_type_t_
enum igmp_mode_t_ igmp_mode_t
On expiry send a general query.
igmp_config_t * igmp_config_get(u32 index)
Get the config from the pool index.