summaryrefslogtreecommitdiff
path: root/lib/routemap.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/routemap.h')
-rw-r--r--lib/routemap.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/routemap.h b/lib/routemap.h
index 41959c24e5..d9e7f73f81 100644
--- a/lib/routemap.h
+++ b/lib/routemap.h
@@ -644,6 +644,30 @@ extern struct route_map_index *route_map_index_get(struct route_map *map,
int pref);
extern void route_map_index_delete(struct route_map_index *index, int notify);
+/* routemap_northbound.c */
+typedef int (*routemap_match_hook_fun)(struct vty *vty,
+ struct route_map_index *rmi,
+ const char *command, const char *arg,
+ route_map_event_t event);
+
+typedef int (*routemap_set_hook_fun)(struct vty *vty,
+ struct route_map_index *rmi,
+ const char *command, const char *arg);
+
+struct routemap_hook_context {
+ struct route_map_index *rhc_rmi;
+ const char *rhc_rule;
+ route_map_event_t rhc_event;
+ routemap_set_hook_fun rhc_shook;
+ routemap_match_hook_fun rhc_mhook;
+};
+
+int lib_route_map_entry_match_destroy(enum nb_event event,
+ const struct lyd_node *dnode);
+int lib_route_map_entry_set_destroy(enum nb_event event,
+ const struct lyd_node *dnode);
+extern const struct frr_yang_module_info frr_route_map_info;
+
#ifdef __cplusplus
}
#endif