summaryrefslogtreecommitdiffstats
path: root/ospfd/ospf_zebra.c
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2009-08-07 10:48:12 +0000
committerDavid Lamparter <equinox@diac24.net>2010-02-04 01:55:32 +0100
commitfd884852db05e35da9eac6ff67fbaa0736d821c6 (patch)
tree7290397cc4d8a948a8224c2af729a6b4dd3a332e /ospfd/ospf_zebra.c
parentdca6c883ea6219460efbe3dadde4b8b9cb12c845 (diff)
downloadquagga-fd884852db05e35da9eac6ff67fbaa0736d821c6.tar.bz2
quagga-fd884852db05e35da9eac6ff67fbaa0736d821c6.tar.xz
zebra, lib: Add ZEBRA_INTERFACE_UNNUMBERED interface flag.
Use interface <ifname> "unnumbered" command to set unnumbered mode. "no unnumbered" will clear it. Changed to use *_FLAG macros by David Lamparter. Cc: David Lamparter <equinox@diac24.net>
Diffstat (limited to 'ospfd/ospf_zebra.c')
-rw-r--r--ospfd/ospf_zebra.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c
index 6f0a71ff..ed35cc80 100644
--- a/ospfd/ospf_zebra.c
+++ b/ospfd/ospf_zebra.c
@@ -195,6 +195,17 @@ ospf_interface_state_up (int command, struct zclient *zclient,
ospf_if_recalculate_output_cost (ifp);
}
+ if (CHECK_FLAG(if_tmp.status ^ ifp->status, ZEBRA_INTERFACE_UNNUMBERED))
+ {
+ if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))
+ zlog_debug ("Zebra: Interface[%s] Unnumbered state change %d -> %d.",
+ ifp->name,
+ if_tmp.status & ZEBRA_INTERFACE_UNNUMBERED,
+ ifp->status & ZEBRA_INTERFACE_UNNUMBERED);
+
+ ospf_if_reset (ifp);
+ }
+
if (if_tmp.mtu != ifp->mtu)
{
if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))