summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2015-05-14 09:14:43 +0300
committerTimo Teräs <timo.teras@iki.fi>2015-06-04 11:30:34 +0300
commit415f2236cb08027a93577255bfdf549e32c787d7 (patch)
tree6db41c0d5a5356831ff860586998b485698aac55
parentc6bb5fb3e638b5b026f303dc0c5dbd60cd256ab2 (diff)
downloadquagga-415f2236cb08027a93577255bfdf549e32c787d7.tar.bz2
quagga-415f2236cb08027a93577255bfdf549e32c787d7.tar.xz
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>
-rw-r--r--lib/zebra.h1
-rw-r--r--zebra/rib.h1
-rw-r--r--zebra/zebra_rib.c8
3 files changed, 5 insertions, 5 deletions
diff --git a/lib/zebra.h b/lib/zebra.h
index 3dc21dee..ae4b1825 100644
--- a/lib/zebra.h
+++ b/lib/zebra.h
@@ -464,7 +464,6 @@ extern const char *zserv_command_string (unsigned int command);
#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 afd4b4ed..229747df 100644
--- a/zebra/rib.h
+++ b/zebra/rib.h
@@ -66,6 +66,7 @@ struct rib
/* 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 03ebb15d..bae19930 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -1147,7 +1147,7 @@ nexthop_active_check (struct route_node *rn, struct rib *rib,
/* 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.
@@ -1160,7 +1160,7 @@ nexthop_active_update (struct route_node *rn, struct rib *rib, int set)
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)
{
@@ -1170,7 +1170,7 @@ nexthop_active_update (struct route_node *rn, struct rib *rib, int set)
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;
}
@@ -1444,7 +1444,7 @@ rib_process (struct route_node *rn)
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");