diff options
author | paul <paul> | 2005-07-29 14:36:00 +0000 |
---|---|---|
committer | paul <paul> | 2005-07-29 14:36:00 +0000 |
commit | 11b38e70dace24e7f2141ca22dc8d39c507af07c (patch) | |
tree | 3d8dd2ea0e1152edeb206f7bc84aa9317f399610 /zebra/interface.c | |
parent | 24c221362db33989366e39f2ae2ad3c428f2f67b (diff) | |
download | quagga-11b38e70dace24e7f2141ca22dc8d39c507af07c.tar.bz2 quagga-11b38e70dace24e7f2141ca22dc8d39c507af07c.tar.xz |
2005-07-29 Paul Jakma <paul.jakma@sun.com>
* 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.
Diffstat (limited to 'zebra/interface.c')
-rw-r--r-- | zebra/interface.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/zebra/interface.c b/zebra/interface.c index 8032614f..92e43d97 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -290,14 +290,7 @@ if_add_update (struct interface *ifp) } } - -/* Handle an interface delete event - * - * This function is only called when support for - * RTM_IFANNOUNCE or AF_NETLINK sockets (RTM_DELLINK message) - * is available. It is not called on, eg, Solaris. - */ -#if (defined(RTM_IFANNOUNCE) || defined(HAVE_NETLINK)) +/* Handle an interface delete event */ void if_delete_update (struct interface *ifp) { @@ -405,7 +398,6 @@ if_delete_update (struct interface *ifp) interface deletion message. */ ifp->ifindex = IFINDEX_INTERNAL; } -#endif /* (defined(RTM_IFANNOUNCE) || defined(HAVE_NETLINK) */ /* Interface is up. */ void |