summaryrefslogtreecommitdiffstats
path: root/ospf6d/ospf6_zebra.c
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2014-03-18 17:04:25 +0100
committerDavid Lamparter <equinox@opensourcerouting.org>2014-03-18 17:04:25 +0100
commite708ed69aa0b993527f48b1f31b645c00750927f (patch)
tree8f33d73b2a85b51c042318d58a1750eeb8019616 /ospf6d/ospf6_zebra.c
parenta11e012e8661629d665e992e765741a5eaa7d017 (diff)
parent424cc3bd48da0f417c9056c5c2ade697a3386cd4 (diff)
downloadquagga-e708ed69aa0b993527f48b1f31b645c00750927f.tar.bz2
quagga-e708ed69aa0b993527f48b1f31b645c00750927f.tar.xz
Merge volatile/cumulus_ospf6d
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'ospf6d/ospf6_zebra.c')
-rw-r--r--ospf6d/ospf6_zebra.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/ospf6d/ospf6_zebra.c b/ospf6d/ospf6_zebra.c
index f09e9d22..cffd7675 100644
--- a/ospf6d/ospf6_zebra.c
+++ b/ospf6d/ospf6_zebra.c
@@ -117,7 +117,9 @@ ospf6_zebra_if_del (int command, struct zclient *zclient, zebra_size_t length)
ifp->name, ifp->ifindex, ifp->mtu6);
#if 0
- /* Why is this commented out? */
+ /* XXX: ospf6_interface_if_del is not the right way to handle this,
+ * because among other thinkable issues, it will also clear all
+ * settings as they are contained in the struct ospf6_interface. */
ospf6_interface_if_del (ifp);
#endif /*0*/
@@ -163,8 +165,10 @@ ospf6_zebra_if_address_update_add (int command, struct zclient *zclient,
buf, sizeof (buf)), c->address->prefixlen);
if (c->address->family == AF_INET6)
- ospf6_interface_connected_route_update (c->ifp);
-
+ {
+ ospf6_interface_state_update (c->ifp);
+ ospf6_interface_connected_route_update (c->ifp);
+ }
return 0;
}
@@ -186,7 +190,10 @@ ospf6_zebra_if_address_update_delete (int command, struct zclient *zclient,
buf, sizeof (buf)), c->address->prefixlen);
if (c->address->family == AF_INET6)
- ospf6_interface_connected_route_update (c->ifp);
+ {
+ ospf6_interface_connected_route_update (c->ifp);
+ ospf6_interface_state_update (c->ifp);
+ }
return 0;
}