From fe181e7c63843ad65401cc1e400ae1ac3187122f Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Thu, 11 Nov 2010 12:24:27 +0100 Subject: Adds support for iface link check to static protocol. --- nest/neighbor.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'nest/neighbor.c') diff --git a/nest/neighbor.c b/nest/neighbor.c index 7e7cc49..785b1d4 100644 --- a/nest/neighbor.c +++ b/nest/neighbor.c @@ -278,6 +278,28 @@ neigh_if_down(struct iface *i) } } +/** + * neigh_if_link - notify neighbor cache about interface link change + * @i: the interface in question + * + * Notify the neighbor cache that an interface changed link state. + * All owners of neighbor entries connected to this interface are + * notified. + */ + +void +neigh_if_link(struct iface *i) +{ + node *x, *y; + + WALK_LIST_DELSAFE(x, y, i->neighbors) + { + neighbor *n = SKIP_BACK(neighbor, if_n, x); + if (n->proto->neigh_notify && n->proto->core_state != FS_FLUSHING) + n->proto->neigh_notify(n); + } +} + static inline void neigh_prune_one(neighbor *n) { -- cgit v1.2.3