|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
19 #include <sys/ioctl.h>
75 .short_help =
"clear igmp int <interface>",
96 "'help igmp listen' or 'igmp listen ?' for help");
102 if (
unformat (line_input,
"enable"))
104 else if (
unformat (line_input,
"disable"))
145 "Failed to add configuration, interface is in router mode");
155 .path =
"igmp listen",
156 .short_help =
"igmp listen [<enable|disable>] "
157 "int <interface> saddr <ip4-address> gaddr <ip4-address>",
179 if (
unformat (line_input,
"enable"))
181 else if (
unformat (line_input,
"disable"))
184 mode = IGMP_MODE_HOST;
185 else if (
unformat (line_input,
"router"))
186 mode = IGMP_MODE_ROUTER;
187 else if (
unformat (line_input,
"%U",
217 .short_help =
"igmp <enable|disable> <host|router> <interface>",
242 else if (
unformat (line_input,
"del"))
246 else if (
unformat (line_input,
"%U",
280 .path =
"igmp proxy-dev",
281 .short_help =
"igmp proxy-dev <add|del> vrf-id <table-id> <interface>",
306 else if (
unformat (line_input,
"del"))
310 else if (
unformat (line_input,
"%U",
344 .path =
"igmp proxy-dev itf",
345 .short_help =
"igmp proxy-dev itf <add|del> vrf-id <table-id> <interface>",
370 .path =
"show igmp config",
371 .short_help =
"show igmp config",
381 #define _(n,f) vlib_cli_output (vm, "%s: %d", #f, igmp_timer_type_get(n));
389 .path =
"show igmp timers",
390 .short_help =
"show igmp timers",
419 .path =
"test igmp timers",
420 .short_help =
"Change the default values for IGMP timers - only sensible during unit tests",
static vlib_cli_command_t igmp_enable_command
(constructor) VLIB_CLI_COMMAND (igmp_enable_command)
enum igmp_mode_t_ igmp_mode_t
vnet_interface_main_t * im
IGMP interface configuration.
#define clib_error_return(e, args...)
static vlib_cli_command_t igmp_show_timers_command
(constructor) VLIB_CLI_COMMAND (igmp_show_timers_command)
vl_api_tunnel_mode_t mode
@ VNET_SW_INTERFACE_FLAG_ADMIN_UP
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
static vlib_cli_command_t igmp_proxy_device_add_del_command
(constructor) VLIB_CLI_COMMAND (igmp_proxy_device_add_del_command)
igmp_config_t * igmp_config_lookup(u32 sw_if_index)
igmp config lookup
static clib_error_t * igmp_proxy_device_add_del_interface_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
void igmp_timer_type_set(igmp_timer_type_t t, u32 v)
#define pool_foreach(VAR, POOL)
Iterate through pool.
static vlib_cli_command_t igmp_show_command
(constructor) VLIB_CLI_COMMAND (igmp_show_command)
#define vec_add1(V, E)
Add 1 element to end of vector (unspecified alignment).
static vnet_sw_interface_flags_t vnet_sw_interface_get_flags(vnet_main_t *vnm, u32 sw_if_index)
vnet_main_t * vnet_get_main(void)
static vlib_cli_command_t igmp_proxy_device_add_del_interface_command
(constructor) VLIB_CLI_COMMAND (igmp_proxy_device_add_del_interface_command)
@ foreach_igmp_timer_type
static clib_error_t * igmp_clear_interface_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
#define VLIB_CLI_COMMAND(x,...)
static clib_error_t * test_igmp_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
static clib_error_t * igmp_show_timers_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
static vlib_cli_command_t igmp_listen_command
(constructor) VLIB_CLI_COMMAND (igmp_listen_command)
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
int igmp_listen(vlib_main_t *vm, igmp_filter_mode_t mode, u32 sw_if_index, const ip46_address_t *saddrs, const ip46_address_t *gaddr)
igmp listen Called by a host to request reception of multicast packets
int igmp_proxy_device_add_del(u32 vrf_id, u32 sw_if_index, u8 add)
IGMP proxy device add/del.
#define vec_free(V)
Free vector's memory (no header).
int igmp_proxy_device_add_del_interface(u32 vrf_id, u32 sw_if_index, u8 add)
IGMP proxy device add/del interface.
static clib_error_t * igmp_proxy_device_add_del_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
unformat_function_t unformat_vnet_sw_interface
vl_api_ip4_address_t saddrs[n_srcs]
#define VLIB_INIT_FUNCTION(x)
u8 * format_igmp_config(u8 *s, va_list *args)
vl_api_ip4_address_t gaddr
static clib_error_t * igmp_enable_cli(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
static clib_error_t * igmp_show_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
static clib_error_t * igmp_listen_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
clib_error_t *() vlib_init_function_t(struct vlib_main_t *vm)
int igmp_enable_disable(u32 sw_if_index, u8 enable, igmp_mode_t mode)
IGMP interface enable/disable.
static vlib_cli_command_t test_igmp_command
(constructor) VLIB_CLI_COMMAND (test_igmp_command)
static vlib_cli_command_t igmp_clear_interface_command
(constructor) VLIB_CLI_COMMAND (igmp_clear_interface_command)
clib_error_t * igmp_cli_init(vlib_main_t *vm)
void igmp_clear_config(igmp_config_t *config)
igmp clear config
vl_api_interface_index_t sw_if_index
collection of data related to IGMP