summaryrefslogtreecommitdiffstats
path: root/zebra/rib.h
diff options
context:
space:
mode:
authorMark Stapp <mjs@voltanet.io>2021-04-15 20:20:39 +0200
committerMark Stapp <mjs@voltanet.io>2021-04-15 20:20:39 +0200
commit04bec7b217df8cc823f0e5717c7db922f2905c3a (patch)
tree0e73fbcec9f1d6ef12b2cf62198e3100f9c02fbc /zebra/rib.h
parentlib: add 2string for zapi nhg result codes (diff)
downloadfrr-04bec7b217df8cc823f0e5717c7db922f2905c3a.tar.xz
frr-04bec7b217df8cc823f0e5717c7db922f2905c3a.zip
zebra: use workqueue for daemon-owned NHGs
Use the main zebra workqueue for daemon-owned NHGs, in addition to processing kernel-owned NHGs. The zapi message processing creates a temporary object that's enqueued to the workqueue, then processed/installed as part of the workqueue processing. Signed-off-by: Mark Stapp <mjs@voltanet.io>
Diffstat (limited to 'zebra/rib.h')
-rw-r--r--zebra/rib.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/zebra/rib.h b/zebra/rib.h
index e7676a132..75d7ae1b6 100644
--- a/zebra/rib.h
+++ b/zebra/rib.h
@@ -426,7 +426,11 @@ extern int rib_queue_add(struct route_node *rn);
struct nhg_ctx; /* Forward declaration */
-extern int rib_queue_nhg_add(struct nhg_ctx *ctx);
+/* Enqueue incoming nhg from OS for processing */
+extern int rib_queue_nhg_ctx_add(struct nhg_ctx *ctx);
+
+/* Enqueue incoming nhg from proto daemon for processing */
+extern int rib_queue_nhe_add(struct nhg_hash_entry *nhe);
extern void meta_queue_free(struct meta_queue *mq);
extern int zebra_rib_labeled_unicast(struct route_entry *re);