From a608bbf27b48b7bd5e63f1c46380a1c5288ba48a Mon Sep 17 00:00:00 2001 From: ajs Date: Tue, 29 Mar 2005 17:03:49 +0000 Subject: 2005-03-29 Andrew J. Schorr * rt_netlink.c: (netlink_link_change) If the status of an operative interface changes (e.g. MTU changes), the client daemons should be notified by calling zebra_interface_up_update. Previously, the information was being updated in zebra's interface structure, but the clients were not notified of changes to an operative interface. * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative interface changes, print a debug message and call ospf_if_reset() to simulate down/up on the interface. * ospf_interface.h: Declare new function ospf_if_reset(). * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down and ospf_if_up for all ospf interfaces attached to an interface. --- zebra/rt_netlink.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'zebra/rt_netlink.c') diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 43f687d4..7a78602e 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -1001,6 +1001,9 @@ netlink_link_change (struct sockaddr_nl *snl, struct nlmsghdr *h) ifp->flags = ifi->ifi_flags & 0x0000fffff; if (!if_is_operative (ifp)) if_down (ifp); + else + /* Must notify client daemons of new interface status. */ + zebra_interface_up_update (ifp); } else { -- cgit v1.2.3