+always_inline u32
+igmp_membership_report_v3_length (const igmp_membership_report_v3_t * r)
+{
+ const igmp_membership_group_v3_t *g;
+ u32 len, ii, glen;
+
+ len = sizeof (igmp_membership_report_v3_t);
+ g = r->groups;
+
+ for (ii = 0; ii < clib_net_to_host_u16 (r->n_groups); ii++)
+ {
+ glen = igmp_membership_group_v3_length (g);
+ g = (const igmp_membership_group_v3_t *) (((u8 *) g) + glen);
+ len += glen;
+ }
+ return (len);
+}
+