summaryrefslogtreecommitdiff
path: root/zebra/rib.h
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/rib.h')
-rw-r--r--zebra/rib.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/zebra/rib.h b/zebra/rib.h
index be680a112f..c02156b378 100644
--- a/zebra/rib.h
+++ b/zebra/rib.h
@@ -165,13 +165,15 @@ struct route_entry {
/* meta-queue structure:
* sub-queue 0: nexthop group objects
- * sub-queue 1: connected, kernel
- * sub-queue 2: static
- * sub-queue 3: RIP, RIPng, OSPF, OSPF6, IS-IS, EIGRP, NHRP
- * sub-queue 4: iBGP, eBGP
- * sub-queue 5: any other origin (if any)
+ * sub-queue 1: connected
+ * sub-queue 2: kernel
+ * sub-queue 3: static
+ * sub-queue 4: RIP, RIPng, OSPF, OSPF6, IS-IS, EIGRP, NHRP
+ * sub-queue 5: iBGP, eBGP
+ * sub-queue 6: any other origin (if any) typically those that
+ * don't generate routes
*/
-#define MQ_SIZE 6
+#define MQ_SIZE 7
struct meta_queue {
struct list *subq[MQ_SIZE];
uint32_t size; /* sum of lengths of all subqueues */
@@ -333,6 +335,10 @@ extern void route_entry_copy_nexthops(struct route_entry *re,
int route_entry_update_nhe(struct route_entry *re,
struct nhg_hash_entry *new_nhghe);
+/* NHG replace has happend, we have to update route_entry pointers to new one */
+void rib_handle_nhg_replace(struct nhg_hash_entry *old,
+ struct nhg_hash_entry *new);
+
#define route_entry_dump(prefix, src, re) _route_entry_dump(__func__, prefix, src, re)
extern void _route_entry_dump(const char *func, union prefixconstptr pp,
union prefixconstptr src_pp,