31 return format (s,
"unknown %d", type);
45 return format (s,
"unknown %d", report_type);
52 u32 max_header_bytes = va_arg (*args,
u32);
55 if (max_header_bytes <
sizeof (hdr[0]))
56 return format (s,
"IGMP header truncated");
64 clib_net_to_host_u16 (hdr->
checksum));
73 u32 max_header_bytes = va_arg (*args,
u32);
79 if (max_header_bytes <
sizeof (igmp[0]))
80 return format (s,
"IGMP report truncated");
87 clib_net_to_host_u16 (igmp->
n_groups));
90 for (i = 0; i < clib_net_to_host_u16 (igmp->
n_groups); i++)
119 u32 max_header_bytes = va_arg (*args,
u32);
123 if (max_header_bytes <
sizeof (igmp[0]))
124 return format (s,
"IGMP query truncated");
141 format (s,
"%UGroup-and-Source-Specific Query: %U",
igmp_membership_group_v3_type_t type
ip4_address_t src_addresses[0]
igmp_membership_group_v3_type_t
static igmp_report_type_info_t * igmp_get_report_type_info(igmp_main_t *im, u8 report_type)
int ip4_address_compare(ip4_address_t *a1, ip4_address_t *a2)
ip4_address_t dst_address
ip4_address_t src_addresses[0]
static igmp_type_info_t * igmp_get_type_info(igmp_main_t *im, u32 type)
#define group_ptr(p, l)
helper macro to get igmp mebership group from pointer plus offset