-/**
- * Print a delegate that represents BFD tracking
- */
-static u8 *
-adj_delegate_fmt_bfd (const adj_delegate_t *aed,
- u8 *s)
+ vec_foreach(aed, adj->ia_delegates)
+ {
+ if (ad_vfts[aed->ad_type].adv_adj_deleted)
+ {
+ ad_vfts[aed->ad_type].adv_adj_deleted(aed);
+ }
+ }
+
+ vec_reset_length(adj->ia_delegates);
+}
+
+void
+adj_delegate_adj_created (ip_adjacency_t *adj)
+{
+ adj_delegate_vft_t *vft;
+
+ vec_foreach(vft, ad_vfts)
+ {
+ if (vft->adv_adj_created)
+ {
+ vft->adv_adj_created(adj_get_index(adj));
+ }
+ }
+}
+
+u8*
+adj_delegate_format (u8* s, ip_adjacency_t *adj)