- igmp_membership_group_v3_type_t report_type =
- va_arg (*args, igmp_membership_group_v3_type_t);
- igmp_main_t *im = &igmp_main;
- igmp_report_type_info_t *rti = igmp_get_report_type_info (im, report_type);
+ igmp_membership_group_v3_type_t type = va_arg (*args, int);
+
+ switch (type)
+ {
+#define _(n,f) case IGMP_MEMBERSHIP_GROUP_##f: return (format (s, "%s", #f));
+ foreach_igmp_membership_group_v3_type
+#undef _
+ }
+ return (format (s, "unknown:%d", type));
+}
+
+u8 *
+format_igmp_filter_mode (u8 * s, va_list * args)
+{
+ igmp_filter_mode_t mode = va_arg (*args, igmp_filter_mode_t);
+
+ switch (mode)
+ {
+#define _(n,f) case IGMP_FILTER_MODE_##f: return (format (s, "%s", #f));
+ foreach_igmp_filter_mode
+#undef _
+ }
+ return (format (s, "unknown:%d", mode));