From 6eb8827d669b06d7b38357860d23fa33e0c0078e Mon Sep 17 00:00:00 2001 From: paul Date: Fri, 29 Jul 2005 14:36:00 +0000 Subject: 2005-07-29 Paul Jakma * interface.c: (if_delete_update) should always be available, not just on RTM_IFANNOUNCE/NETLINK systems. * kernel_socket.c: (ifan_read) only call if_delete_update when interface departs, dont if_delete, because we wish to retain interface configuration state even when interfaces are removed. (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning to down state is only chance we have to clean up interface in case it is deleted (eg Solaris down -> unplumb -> plumb up). * redistribute.c: (zebra_interface_delete_update) should always be available, we /will/ call it now on all systems, via if_delete_update. * zserv.c: (zsend_interface_delete) ditto (zsend_interface_address) Update the call-flow diagramme, to reflect that if_delete_update /is/ now called on all systems, potentially. * zserv.h: (zsend_interface_delete) unconditionally exported, as above. --- zebra/redistribute.c | 7 ------- 1 file changed, 7 deletions(-) (limited to 'zebra/redistribute.c') diff --git a/zebra/redistribute.c b/zebra/redistribute.c index dff6cb54..677e6f90 100644 --- a/zebra/redistribute.c +++ b/zebra/redistribute.c @@ -345,12 +345,6 @@ zebra_interface_add_update (struct interface *ifp) zsend_interface_add (client, ifp); } -/* - * This function is only called when support for - * RTM_IFANNOUNCE or AF_NETLINK sockets (RTM_DELLINK message) - * is available. It is not called on Solaris. - */ -#if (defined(RTM_IFANNOUNCE) || defined(HAVE_NETLINK)) void zebra_interface_delete_update (struct interface *ifp) { @@ -364,7 +358,6 @@ zebra_interface_delete_update (struct interface *ifp) if (client->ifinfo) zsend_interface_delete (client, ifp); } -#endif /* defined(RTM_IFANNOUNCE) || defined(HAVE_NETLINK) */ /* Interface address addition. */ void -- cgit v1.2.1