summaryrefslogtreecommitdiffstats
path: root/zebra/interface.c
diff options
context:
space:
mode:
authorpaul <paul>2006-06-15 18:10:47 +0000
committerpaul <paul>2006-06-15 18:10:47 +0000
commita5b248191de7254017608a8aac6f60578d12ad78 (patch)
tree1f34032c222f2da430552298c8cec56a3b42a349 /zebra/interface.c
parent11b3399c639b25a87bf2434ad08f31cc3f334cf6 (diff)
downloadquagga-a5b248191de7254017608a8aac6f60578d12ad78.tar.bz2
quagga-a5b248191de7254017608a8aac6f60578d12ad78.tar.xz
[zebra] Fix forgetfulness wrt configured address on FreeBSD
2006-06-15 Paul Jakma <paul.jakma@sun.com> * (general) The key fixes are actually Andrew Schorr's. * interface.c: (ip_address_uninstall) Unset the configured flag. * connected.c: (connected_same) new helper, check whether two connected are same. (connected_implicit_withdraw) new helper, consolidation of existing code in connected_add_ipv{4,6}. Try filter out unneeded Zserv address delete/adds when address is exact same. Where old address is implicitely removed, be sure to preserve the IFC_CONFIGURED flag if set, fixes bug where configured addresses were being lost on FreeBSD.
Diffstat (limited to 'zebra/interface.c')
-rw-r--r--zebra/interface.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/zebra/interface.c b/zebra/interface.c
index e386047f..69124b3d 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -1273,6 +1273,8 @@ ip_address_uninstall (struct vty *vty, struct interface *ifp,
if (! CHECK_FLAG (ifc->conf, ZEBRA_IFC_CONFIGURED))
return CMD_WARNING;
+ UNSET_FLAG (ifc->conf, ZEBRA_IFC_CONFIGURED);
+
/* This is not real address or interface is not active. */
if (! CHECK_FLAG (ifc->conf, ZEBRA_IFC_REAL)
|| ! CHECK_FLAG (ifp->status, ZEBRA_INTERFACE_ACTIVE))