diff --git a/nest/rt-table.c b/nest/rt-table.c index cc735e32..73b679d5 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -112,8 +112,11 @@ rte_announce(net *net, rte *new, rte *old) struct proto *p; WALK_LIST(p, proto_list) - if (p->rt_notify) - p->rt_notify(p, net, new, old); + { + ASSERT(p->core_state == FS_HAPPY); + if (p->rt_notify) + p->rt_notify(p, net, new, old); + } } void diff --git a/sysdep/unix/krt-set.c b/sysdep/unix/krt-set.c index c66116c4..2f0abe66 100644 --- a/sysdep/unix/krt-set.c +++ b/sysdep/unix/krt-set.c @@ -115,8 +115,6 @@ krt_add_route(rte *new) void krt_set_notify(struct proto *x, net *net, rte *new, rte *old) { - if (x->proto_state != PS_UP) - bug("FIXME: krt_set_notify called for downed protocol"); if (old) krt_remove_route(old); if (new)