* del - assigned function executed before deleting topology node by list
* function
*/
-struct route_table *eigrp_topology_new()
+struct route_table *eigrp_topology_new(void)
{
return route_table_init();
}
* Returns new created toplogy node
* cmp - assigned function for comparing topology entry
*/
-struct eigrp_prefix_entry *eigrp_prefix_entry_new()
+struct eigrp_prefix_entry *eigrp_prefix_entry_new(void)
{
struct eigrp_prefix_entry *new;
new = XCALLOC(MTYPE_EIGRP_PREFIX_ENTRY,
* Returns new topology entry
*/
-struct eigrp_nexthop_entry *eigrp_nexthop_entry_new()
+struct eigrp_nexthop_entry *eigrp_nexthop_entry_new(void)
{
struct eigrp_nexthop_entry *new;
__PRETTY_FUNCTION__,
prefix2str(pe->destination, buf, sizeof(buf)));
}
+ route_unlock_node(rn);
}
rn->info = pe;
- route_lock_node(rn);
}
/*
listnode_add_sort(node->entries, entry);
entry->prefix = node;
- eigrp_zebra_route_add(node->destination, l);
+ eigrp_zebra_route_add(node->destination, l, node->fdistance);
}
- list_delete_and_null(&l);
+ list_delete(&l);
}
/*
for (ALL_LIST_ELEMENTS(pe->entries, node, nnode, ne))
eigrp_nexthop_entry_delete(pe, ne);
- list_delete_and_null(&pe->entries);
- list_delete_and_null(&pe->rij);
+ list_delete(&pe->entries);
+ list_delete(&pe->rij);
eigrp_zebra_route_delete(pe->destination);
prefix_free(pe->destination);
* If we have no successors return NULL
*/
if (!successors->count) {
- list_delete_and_null(&successors);
+ list_delete(&successors);
successors = NULL;
}
successors = eigrp_topology_get_successor_max(prefix, eigrp->max_paths);
if (successors) {
- eigrp_zebra_route_add(prefix->destination, successors);
+ eigrp_zebra_route_add(prefix->destination, successors,
+ prefix->fdistance);
for (ALL_LIST_ELEMENTS_RO(successors, node, entry))
entry->flags |= EIGRP_NEXTHOP_ENTRY_INTABLE_FLAG;
- list_delete_and_null(&successors);
+ list_delete(&successors);
} else {
eigrp_zebra_route_delete(prefix->destination);
for (ALL_LIST_ELEMENTS_RO(prefix->entries, node, entry))