|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
35 #define _(n,f) case IGMP_GROUP_PREFIX_TYPE_##f: return (format (s, "%s", #f));
58 if ((~0 == pos) && (IGMP_GROUP_PREFIX_TYPE_SSM ==
type))
67 if ((~0 != pos) && (IGMP_GROUP_PREFIX_TYPE_ASM ==
type))
83 ssm_default->
igp_type = IGMP_GROUP_PREFIX_TYPE_SSM;
97 return (IGMP_GROUP_PREFIX_TYPE_SSM);
100 return (IGMP_GROUP_PREFIX_TYPE_ASM);
132 .path =
"show igmp ssm-ranges",
133 .short_help =
"show igmp ssm-ranges",
walk_rc_t(* igmp_ssm_range_walk_t)(const fib_prefix_t *pfx, igmp_group_prefix_type_t type, void *ctx)
int fib_prefix_cmp(const fib_prefix_t *p1, const fib_prefix_t *p2)
Compare two prefixes for equality.
static clib_error_t * igmp_ssm_range_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
ip4_main_t ip4_main
Global ip4 main structure.
igmp_group_prefix_type_t igp_type
u16 fp_len
The mask length.
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
enum igmp_group_prefix_type_t_ igmp_group_prefix_type_t
#define vec_search_with_function(v, E, fn)
Search a vector for the index of the entry that matches.
#define vec_add2(V, P, N)
Add N elements to end of vector V, return pointer to new elements in P.
#define vec_add1(V, E)
Add 1 element to end of vector (unspecified alignment).
static igmp_group_prefix_t * igmp_group_prefixs
static void igmp_ssm_range_populate(void)
u8 * format_igmp_group_prefix_type(u8 *s, va_list *args)
#define VLIB_CLI_COMMAND(x,...)
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
ip46_address_t fp_addr
The address type is not deriveable from the fp_addr member.
static uword ip4_destination_matches_route(const ip4_main_t *im, const ip4_address_t *key, const ip4_address_t *dest, uword dest_length)
static int igmp_group_prefix_cmp(const igmp_group_prefix_t *gp1, const fib_prefix_t *p)
static clib_error_t * igmp_ssm_range_init(vlib_main_t *vm)
description fragment has unexpected format
void igmp_group_prefix_set(const fib_prefix_t *pfx, igmp_group_prefix_type_t type)
#define VLIB_INIT_FUNCTION(x)
struct igmp_group_prefix_t igmp_group_prefix_t
vl_api_ip4_address_t gaddr
u8 * format_fib_prefix(u8 *s, va_list *args)
#define vec_foreach(var, vec)
Vector iterator.
fib_protocol_t fp_proto
protocol type
void igmp_ssm_range_walk(igmp_ssm_range_walk_t fn, void *ctx)
igmp_group_prefix_type_t igmp_group_prefix_get_type(const ip46_address_t *gaddr)
@ foreach_igmp_group_prefix_type
static vlib_cli_command_t igmp_show_timers_command
(constructor) VLIB_CLI_COMMAND (igmp_show_timers_command)
clib_error_t *() vlib_init_function_t(struct vlib_main_t *vm)
Aggregate type for a prefix.
vl_api_fib_path_type_t type
#define vec_del1(v, i)
Delete the element at index I.