FD.io VPP  v21.01.1
Vector Packet Processing
igmp.api File Reference

Go to the source code of this file.

Data Structures

struct  vl_api_igmp_listen_t
 
struct  vl_api_igmp_enable_disable_t
 Used by a 'router' and 'host' to enable the reception of IGMP packets. More...
 
struct  vl_api_igmp_proxy_device_add_del_t
 Add/del proxy device on specified VRF. More...
 
struct  vl_api_igmp_proxy_device_add_del_interface_t
 Add/del downstream interface to/from proxy device. More...
 
struct  vl_api_igmp_dump_t
 dump (S,G)s from interface More...
 
struct  vl_api_igmp_details_t
 igmp details More...
 
struct  vl_api_igmp_clear_interface_t
 remove all (S,G)s from an interface More...
 
struct  vl_api_want_igmp_events_t
 register for igmp events More...
 
struct  vl_api_igmp_event_t
 igmp event details More...
 
struct  vl_api_igmp_group_prefix_set_t
 Configure a prefix for SSM or ASM semantics. More...
 
struct  vl_api_igmp_group_prefix_dump_t
 
struct  vl_api_igmp_group_prefix_details_t
 

Enumerations

enum  filter_mode { EXCLUDE = 0, INCLUDE = 1 }
 Filter mode. More...
 
enum  group_prefix_type { ASM = 0, SSM = 1 }
 enum to specify either ASM or SSM semantics More...
 

Variables

option version = "1.0.0"
 
import vnet ip ip_types api
 
typedef igmp_group
 Used by a 'host' to enable the reception/listening of packets for a specific multicast group. More...
 
u8 n_srcs
 
vl_api_interface_index_t sw_if_index
 
vl_api_ip4_address_t gaddr
 
vl_api_ip4_address_t saddrs [n_srcs]
 
 service
 
typedef group_prefix
 Definition of a Group prefix and its type. More...
 
vl_api_prefix_t prefix
 

Enumeration Type Documentation

◆ filter_mode

Filter mode.

Enumerator
EXCLUDE 
INCLUDE 

Definition at line 26 of file igmp.api.

◆ group_prefix_type

enum to specify either ASM or SSM semantics

Enumerator
ASM 
SSM 

Definition at line 228 of file igmp.api.

Variable Documentation

◆ api

import vnet interface_types api

Definition at line 20 of file igmp.api.

◆ gaddr

vl_api_ip4_address_t gaddr

Definition at line 70 of file igmp.api.

◆ group_prefix

typedef group_prefix
Initial value:
{
vl_api_group_prefix_type_t type
vl_api_fib_path_type_t type
Definition: fib_types.api:123

Definition of a Group prefix and its type.

Definition at line 238 of file igmp.api.

◆ igmp_group

typedef igmp_group
Initial value:
{
vl_api_filter_mode_t filter

Used by a 'host' to enable the reception/listening of packets for a specific multicast group.

For each socket on which IPMulticastListen has been invoked, the system records the desired multicast reception state for that socket. That state conceptually consists of a set of records of the form:

(interface, multicast-address, filter-mode, source-list)

The socket state evolves in response to each invocation of IPMulticastListen on the socket, as follows:

o If the requested filter mode is INCLUDE and the requested source list is empty, then the entry corresponding to the requested interface and multicast address is deleted if present. If no such entry is present, the request is ignored.

o If the requested filter mode is EXCLUDE or the requested source list is non-empty, then the entry corresponding to the requested interface and multicast address, if present, is changed to contain the requested filter mode and source list. If no such entry is present, a new entry is created, using the parameters specified in the request.

Template Parameters
client_index- opaque cookie to identify the sender
context- sender context, to match reply w/ request
sw_if_index- interface sw index
filter- filter mode
saddr- source address
gaddr- group address

Definition at line 66 of file igmp.api.

◆ n_srcs

u8 n_srcs

Definition at line 68 of file igmp.api.

◆ prefix

vl_api_prefix_t prefix

Definition at line 240 of file igmp.api.

◆ saddrs

vl_api_ip4_address_t saddrs[n_srcs]

Definition at line 71 of file igmp.api.

◆ service

service
Initial value:
{
rpc want_igmp_events returns want_igmp_events_reply
events 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.
Definition: igmp_api.c:388

Definition at line 203 of file igmp.api.

◆ sw_if_index

vl_api_interface_index_t sw_if_index

Definition at line 69 of file igmp.api.

◆ version

option version = "1.0.0"

Definition at line 19 of file igmp.api.