fib_entry_t *cover;
/*
- * remove the depednecy on the covering entry
+ * remove the dependency on the covering entry
*/
- ASSERT(FIB_NODE_INDEX_INVALID != src->u.adj.fesa_cover);
- cover = fib_entry_get(src->u.adj.fesa_cover);
+ if (FIB_NODE_INDEX_INVALID == src->u.adj.fesa_cover)
+ {
+ /*
+ * this is the case if the entry is in the non-forwarding trie
+ */
+ return;
+ }
+ cover = fib_entry_get(src->u.adj.fesa_cover);
fib_entry_cover_untrack(cover, src->u.adj.fesa_sibling);
/*
res.bw_reason = FIB_NODE_BW_REASON_FLAG_EVALUATE;
}
+ FIB_ENTRY_DBG(fib_entry, "adj-src-cover-changed");
return (res);
}
{
/*
* the cover has updated, i.e. its forwarding or flags
- * have changed. don't decativate/activate here, since this
+ * have changed. don't deactivate/activate here, since this
* prefix is updated during the covers walk.
*/
fib_entry_src_cover_res_t res = {
res.install = (FIB_ENTRY_FLAG_ATTACHED & fib_entry_get_flags_i(cover));
+ FIB_ENTRY_DBG(fib_entry, "adj-src-cover-updated");
+
return (res);
}