FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
igmp_config.h File Reference
+ Include dependency graph for igmp_config.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  igmp_config_t_
 IGMP interface configuration. More...
 

Macros

#define foreach_igmp_config_timer_type
 GENERAL_REPORT = On expiry send a general report GENERAL_QUERY = On expiry send a general query. More...
 
#define IGMP_CONFIG_N_TIMERS   (IGMP_CONFIG_TIMER_GENERAL_QUERY + 1)
 
#define FOR_EACH_GROUP(_group, _config, _body)
 

Typedefs

typedef enum igmp_config_timer_type_t_ igmp_config_timer_type_t
 
typedef struct igmp_config_t_ igmp_config_t
 IGMP interface configuration. More...
 

Enumerations

enum  igmp_config_timer_type_t_ { foreach_igmp_config_timer_type }
 

Functions

u8format_igmp_config_timer_type (u8 *s, va_list *args)
 
void igmp_clear_config (igmp_config_t *config)
 igmp clear config More...
 
igmp_config_tigmp_config_lookup (u32 sw_if_index)
 igmp config lookup More...
 
u32 igmp_config_index (const igmp_config_t *c)
 Get the pool index for a config. More...
 
igmp_config_tigmp_config_get (u32 index)
 Get the config from the pool index. More...
 
igmp_group_tigmp_group_lookup (igmp_config_t *config, const igmp_key_t *key)
 igmp group lookup More...
 
u8format_igmp_config (u8 *s, va_list *args)
 

Macro Definition Documentation

◆ FOR_EACH_GROUP

#define FOR_EACH_GROUP (   _group,
  _config,
  _body 
)
Value:
do { \
igmp_key_t *__key__; \
u32 __gid__; \
hash_foreach_mem(__key__, __gid__, _config->igmp_group_by_key, \
({ \
_group = pool_elt_at_index(igmp_main.groups, __gid__); \
do { _body; } while (0); \
})); \
} while (0);

Definition at line 85 of file igmp_config.h.

◆ foreach_igmp_config_timer_type

#define foreach_igmp_config_timer_type
Value:
_(GENERAL_REPORT, "general-report") \
_(GENERAL_QUERY, "general-query")

GENERAL_REPORT = On expiry send a general report GENERAL_QUERY = On expiry send a general query.

Definition at line 29 of file igmp_config.h.

◆ IGMP_CONFIG_N_TIMERS

#define IGMP_CONFIG_N_TIMERS   (IGMP_CONFIG_TIMER_GENERAL_QUERY + 1)

Definition at line 40 of file igmp_config.h.

Typedef Documentation

◆ igmp_config_t

typedef struct igmp_config_t_ igmp_config_t

IGMP interface configuration.

◆ igmp_config_timer_type_t

Enumeration Type Documentation

◆ igmp_config_timer_type_t_

Enumerator
foreach_igmp_config_timer_type 

Definition at line 33 of file igmp_config.h.

Function Documentation

◆ format_igmp_config()

u8* format_igmp_config ( u8 s,
va_list *  args 
)

Definition at line 106 of file igmp_config.c.

+ Here is the call graph for this function:

◆ format_igmp_config_timer_type()

u8* format_igmp_config_timer_type ( u8 s,
va_list *  args 
)

Definition at line 91 of file igmp_config.c.

+ Here is the caller graph for this function:

◆ igmp_clear_config()

void igmp_clear_config ( igmp_config_t config)

igmp clear config

Parameters
config- igmp configuration

Clear all (S,G)s on specified config and remove this config from pool.

Definition at line 22 of file igmp_config.c.

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

◆ igmp_config_get()

igmp_config_t* igmp_config_get ( u32  index)

Get the config from the pool index.

Definition at line 70 of file igmp_config.c.

+ Here is the caller graph for this function:

◆ igmp_config_index()

u32 igmp_config_index ( const igmp_config_t c)

Get the pool index for a config.

Definition at line 64 of file igmp_config.c.

+ Here is the caller graph for this function:

◆ igmp_config_lookup()

igmp_config_t* igmp_config_lookup ( u32  sw_if_index)

igmp config lookup

Parameters
im- igmp main
sw_if_index- interface sw_if_index

Definition at line 45 of file igmp_config.c.

+ Here is the caller graph for this function:

◆ igmp_group_lookup()

igmp_group_t* igmp_group_lookup ( igmp_config_t config,
const igmp_key_t key 
)

igmp group lookup

Parameters
config- igmp configuration
key- igmp key

Definition at line 76 of file igmp_config.c.

+ Here is the caller graph for this function: