zebra: make ZEBRA_FLAG_CHANGED internal status
This flag is used internally in zebra only. And it makes no sense
to expose it over the zclient API, as having it set from client
could corrupt the internal state.
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
diff --git a/lib/zebra.h b/lib/zebra.h
index fe34be7..a607437 100644
--- a/lib/zebra.h
+++ b/lib/zebra.h
@@ -464,7 +464,6 @@
#define ZEBRA_FLAG_BLACKHOLE 0x04
#define ZEBRA_FLAG_IBGP 0x08
#define ZEBRA_FLAG_SELECTED 0x10
-#define ZEBRA_FLAG_CHANGED 0x20
#define ZEBRA_FLAG_STATIC 0x40
#define ZEBRA_FLAG_REJECT 0x80
diff --git a/zebra/rib.h b/zebra/rib.h
index 2af90db..6e0966a 100644
--- a/zebra/rib.h
+++ b/zebra/rib.h
@@ -78,6 +78,7 @@
/* RIB internal status */
u_char status;
#define RIB_ENTRY_REMOVED (1 << 0)
+#define RIB_ENTRY_CHANGED (1 << 1)
/* Nexthop information. */
u_char nexthop_num;
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index 084af38..c202c5f 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -1078,7 +1078,7 @@
/* Iterate over all nexthops of the given RIB entry and refresh their
* ACTIVE flag. rib->nexthop_active_num is updated accordingly. If any
* nexthop is found to toggle the ACTIVE flag, the whole rib structure
- * is flagged with ZEBRA_FLAG_CHANGED. The 4th 'set' argument is
+ * is flagged with RIB_ENTRY_CHANGED. The 4th 'set' argument is
* transparently passed to nexthop_active_check().
*
* Return value is the new number of active nexthops.
@@ -1091,7 +1091,7 @@
unsigned int prev_active, prev_index, new_active;
rib->nexthop_active_num = 0;
- UNSET_FLAG (rib->flags, ZEBRA_FLAG_CHANGED);
+ UNSET_FLAG (rib->status, RIB_ENTRY_CHANGED);
for (nexthop = rib->nexthop; nexthop; nexthop = nexthop->next)
{
@@ -1101,7 +1101,7 @@
rib->nexthop_active_num++;
if (prev_active != new_active ||
prev_index != nexthop->ifindex)
- SET_FLAG (rib->flags, ZEBRA_FLAG_CHANGED);
+ SET_FLAG (rib->status, RIB_ENTRY_CHANGED);
}
return rib->nexthop_active_num;
}
@@ -1375,7 +1375,7 @@
if (IS_ZEBRA_DEBUG_RIB)
rnode_debug (rn, "Updating existing route, select %p, fib %p",
(void *)select, (void *)fib);
- if (CHECK_FLAG (select->flags, ZEBRA_FLAG_CHANGED))
+ if (CHECK_FLAG (select->status, RIB_ENTRY_CHANGED))
{
if (info->safi == SAFI_UNICAST)
zfpm_trigger_update (rn, "updating existing route");