+void node_add(node_t *n)
+{
+cp
+ avl_insert(node_tree, n);
+ avl_insert(node_udp_tree, n);
+cp
+}
+
+void node_del(node_t *n)
+{
+ avl_node_t *node, *next;
+ edge_t *e;
+ subnet_t *s;
+cp
+ for(node = n->subnet_tree->head; node; node = next)
+ {
+ next = node->next;
+ s = (subnet_t *)node->data;
+ subnet_del(n, s);
+ }
+
+ for(node = n->subnet_tree->head; node; node = next)
+ {
+ next = node->next;
+ e = (edge_t *)node->data;
+ edge_del(e);
+ }
+cp
+ avl_delete(node_tree, n);
+ avl_delete(node_udp_tree, n);
+cp
+}
+