From 47b793064c25c8adcab48cacc018be1675f2448a Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Sat, 17 Oct 1998 11:05:18 +0000 Subject: Solve chicken-and-egg problems with protocol startup. We now queue all inactive protocols and don't send route/interface updates to them and when they come up, we resend the whole route/interface tables privately. Removed the "scan interface list after protocol start" work-around. --- nest/iface.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'nest/iface.c') diff --git a/nest/iface.c b/nest/iface.c index 591733a..f6f33a9 100644 --- a/nest/iface.c +++ b/nest/iface.c @@ -312,6 +312,18 @@ if_end_update(void) } } +void +if_feed_baby(struct proto *p) +{ + struct iface *i; + + if (!p->if_notify) + return; + debug("Announcing interfaces to new protocol %s\n", p->name); + WALK_LIST(i, iface_list) + p->if_notify(p, IF_CHANGE_CREATE | ((i->flags & IF_UP) ? IF_CHANGE_UP : 0), NULL, i); +} + void if_init(void) { -- cgit v1.2.3