]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/table.h
Merge pull request #254 from donaldsharp/shutdown3
[mirror_frr.git] / lib / table.h
index 78bf5da748726650f298c398ea7c2d4e364fe482..1691a8e20ada6e6759203a21b927ee637b5abc98 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "memory.h"
 DECLARE_MTYPE(ROUTE_TABLE)
+DECLARE_MTYPE(ROUTE_NODE)
 
 /*
  * Forward declarations.
@@ -61,6 +62,7 @@ struct route_table
    * Delegate that performs certain functions for this table.
    */
   route_table_delegate_t *delegate;
+  void (*cleanup)(struct route_table *, struct route_node *);
   
   unsigned long count;
   
@@ -157,15 +159,15 @@ extern struct route_node *route_node_get (struct route_table *const,
                                           const struct prefix *);
 extern struct route_node *route_node_lookup (const struct route_table *,
                                              const struct prefix *);
+extern struct route_node *route_node_lookup_maynull (const struct route_table *,
+                                             const struct prefix *);
 extern struct route_node *route_lock_node (struct route_node *node);
 extern struct route_node *route_node_match (const struct route_table *,
                                             const struct prefix *);
 extern struct route_node *route_node_match_ipv4 (const struct route_table *,
                                                 const struct in_addr *);
-#ifdef HAVE_IPV6
 extern struct route_node *route_node_match_ipv6 (const struct route_table *,
                                                 const struct in6_addr *);
-#endif /* HAVE_IPV6 */
 
 extern unsigned long route_table_count (const struct route_table *);