- /* *INDENT-OFF* */
- pool_foreach (prefix_info, pm->prefix_pool,
- ({
- if (is_dhcpv6_pd_prefix (prefix_info) &&
- prefix_info->opaque_data == sw_if_index &&
- prefix_info->prefix_length == prefix_length &&
- ip6_prefixes_equal (&prefix_info->prefix, prefix, prefix_length))
- {
- address_prefix_present = 1;
- goto prefix_pool_foreach_out;
- }
- }));
- /* *INDENT-ON* */
- prefix_pool_foreach_out:
+
+ /* Look for a matching prefix_info */
+ for (j = 0; j < vec_len (pm->indices); j++)
+ {
+ prefix_info = pool_elt_at_index (pm->prefix_pool, pm->indices[j]);
+
+ if (is_dhcpv6_pd_prefix (prefix_info) &&
+ prefix_info->opaque_data == sw_if_index &&
+ prefix_info->prefix_length == prefix_length &&
+ ip6_prefixes_equal (&prefix_info->prefix, prefix,
+ prefix_length))
+ {
+ address_prefix_present = 1;
+ break;
+ }
+ }