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/ChangeLog | 9 +++++++++ zebra/rt_netlink.c | 3 +++ 2 files changed, 12 insertions(+) (limited to 'zebra') diff --git a/zebra/ChangeLog b/zebra/ChangeLog index bc3c738c..59c154dd 100644 --- a/zebra/ChangeLog +++ b/zebra/ChangeLog @@ -1,3 +1,12 @@ +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. + 2005-03-25 Jean-Mickael Guerin * interface.c, interface.h, rtadv.c, rtadv.h: modifications to IPv6 Neighbor Discovery according to RFC3775, section 7: 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.1