FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
igmp.h File Reference
+ Include dependency graph for igmp.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  igmp_main_t_
 collection of data related to IGMP More...
 

Macros

#define IGMP_DEFAULT_ROBUSTNESS_VARIABLE   (2)
 RFC 3376 Section 8.1. More...
 
#define IGMP_DBG(...)   vlib_log_debug (igmp_main.logger, __VA_ARGS__);
 
#define IGMP_GENERAL_QUERY_ADDRESS   (0x010000E0)
 General Query address - 224.0.0.1 Membership Report address - 224.0.0.22 SSM default range 232/8. More...
 
#define IGMP_MEMBERSHIP_REPORT_ADDRESS   (0x160000E0)
 
#define IGMP_SSM_DEFAULT   (0x000000E8)
 
#define group_ptr(p, l)   ((igmp_membership_group_v3_t *)((u8*)(p) + (l)))
 helper macro to get igmp membership group from pointer plus offset More...
 
#define group_cptr(p, l)   ((const igmp_membership_group_v3_t *)((u8*)(p) + (l)))
 

Typedefs

typedef struct igmp_main_t_ igmp_main_t
 collection of data related to IGMP More...
 

Functions

int igmp_enable_disable (u32 sw_if_index, u8 enable, igmp_mode_t mode)
 IGMP interface enable/disable. More...
 
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 More...
 
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...
 

Variables

igmp_main_t igmp_main
 

Macro Definition Documentation

◆ group_cptr

#define group_cptr (   p,
 
)    ((const igmp_membership_group_v3_t *)((u8*)(p) + (l)))

Definition at line 58 of file igmp.h.

◆ group_ptr

#define group_ptr (   p,
 
)    ((igmp_membership_group_v3_t *)((u8*)(p) + (l)))

helper macro to get igmp membership group from pointer plus offset

Definition at line 57 of file igmp.h.

◆ IGMP_DBG

#define IGMP_DBG (   ...)    vlib_log_debug (igmp_main.logger, __VA_ARGS__);

Definition at line 38 of file igmp.h.

◆ IGMP_DEFAULT_ROBUSTNESS_VARIABLE

#define IGMP_DEFAULT_ROBUSTNESS_VARIABLE   (2)

RFC 3376 Section 8.1.

Definition at line 36 of file igmp.h.

◆ IGMP_GENERAL_QUERY_ADDRESS

#define IGMP_GENERAL_QUERY_ADDRESS   (0x010000E0)

General Query address - 224.0.0.1 Membership Report address - 224.0.0.22 SSM default range 232/8.

Definition at line 51 of file igmp.h.

◆ IGMP_MEMBERSHIP_REPORT_ADDRESS

#define IGMP_MEMBERSHIP_REPORT_ADDRESS   (0x160000E0)

Definition at line 52 of file igmp.h.

◆ IGMP_SSM_DEFAULT

#define IGMP_SSM_DEFAULT   (0x000000E8)

Definition at line 53 of file igmp.h.

Typedef Documentation

◆ igmp_main_t

typedef struct igmp_main_t_ igmp_main_t

collection of data related to IGMP

Function Documentation

◆ igmp_enable_disable()

int igmp_enable_disable ( u32  sw_if_index,
u8  enable,
igmp_mode_t  mode 
)

IGMP interface enable/disable.

Parameters
sw_if_index- Interface
enable- enable/disable
mode- Host or router

Definition at line 340 of file igmp.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_listen()

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

Parameters
vm- vlib main
filter- Filter mode
sw_if_index- interface sw_if_index
saddr- source address
gaddr- group address

Add/del (S,G) on an interface. send a status change report from the interface.

Definition at line 133 of file igmp.c.

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

Variable Documentation

◆ igmp_main

igmp_main_t igmp_main

Definition at line 36 of file igmp.c.