]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib: add cleanup hook to route table
authorChristian Franke <chris@opensourcerouting.org>
Wed, 18 Jan 2017 22:46:43 +0000 (23:46 +0100)
committerChristian Franke <chris@opensourcerouting.org>
Mon, 30 Jan 2017 12:54:46 +0000 (13:54 +0100)
lib/table.c
lib/table.h

index 075c5584a83c9f43b0be18d45306cf06b5abee46..7f789dd3cd7553db6a1c83564ea3b54708960d7d 100644 (file)
@@ -78,6 +78,8 @@ route_node_set (struct route_table *table, const struct prefix *prefix)
 static void
 route_node_free (struct route_table *table, struct route_node *node)
 {
+  if (table->cleanup)
+    table->cleanup(table, node);
   table->delegate->destroy_node (table->delegate, table, node);
 }
 
index 6997b6bdd5301cfd56d1a9e5cdc65ab6373cae14..1691a8e20ada6e6759203a21b927ee637b5abc98 100644 (file)
@@ -62,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;