]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/routemap.h
Merge pull request #5746 from donaldsharp/bgp_sa
[mirror_frr.git] / lib / routemap.h
index 40525987e94662d8ef0b544d1f9fbd96ea111c12..1ffd0525ae66eeec801555e0c7f04cfe19e5a735 100644 (file)
@@ -123,6 +123,9 @@ struct route_map_rule_cmd {
 
        /* Free allocated value by func_compile (). */
        void (*func_free)(void *);
+
+       /** To get the rule key after Compilation **/
+       void *(*func_get_rmap_rule_key)(void *val);
 };
 
 /* Route map apply error. */
@@ -135,8 +138,6 @@ enum rmap_compile_rets {
        /* Route map rule can't compile */
        RMAP_COMPILE_ERROR,
 
-       /* Route map rule is duplicate */
-       RMAP_DUPLICATE_RULE
 };
 
 /* Route map rule list. */
@@ -228,7 +229,8 @@ extern enum rmap_compile_rets route_map_add_match(struct route_map_index *index,
 /* Delete specified route match rule. */
 extern enum rmap_compile_rets
 route_map_delete_match(struct route_map_index *index,
-                      const char *match_name, const char *match_arg);
+                      const char *match_name, const char *match_arg,
+                      route_map_event_t type);
 
 extern const char *route_map_get_match_arg(struct route_map_index *index,
                                           const char *match_name);
@@ -244,7 +246,7 @@ route_map_delete_set(struct route_map_index *index,
                     const char *set_name, const char *set_arg);
 
 /* Install rule command to the match list. */
-extern void route_map_install_match(struct route_map_rule_cmd *cmd);
+extern void route_map_install_match(const struct route_map_rule_cmd *cmd);
 
 /*
  * Install rule command to the set list.
@@ -255,7 +257,7 @@ extern void route_map_install_match(struct route_map_rule_cmd *cmd);
  * in the apply command).  See 'set metric' command
  * as it is handled in ripd/ripngd and ospfd.
  */
-extern void route_map_install_set(struct route_map_rule_cmd *cmd);
+extern void route_map_install_set(const struct route_map_rule_cmd *cmd);
 
 /* Lookup route map by name. */
 extern struct route_map *route_map_lookup_by_name(const char *name);