diff options
Diffstat (limited to 'eigrpd/eigrp_topology.c')
| -rw-r--r-- | eigrpd/eigrp_topology.c | 23 | 
1 files changed, 9 insertions, 14 deletions
diff --git a/eigrpd/eigrp_topology.c b/eigrpd/eigrp_topology.c index f17be8f4b7..e59dcacb7c 100644 --- a/eigrpd/eigrp_topology.c +++ b/eigrpd/eigrp_topology.c @@ -68,7 +68,6 @@ struct eigrp_prefix_descriptor *eigrp_prefix_descriptor_new(void)  	new->rij = list_new();  	new->entries->cmp = (int (*)(void *, void *))eigrp_route_descriptor_cmp;  	new->distance = new->fdistance = new->rdistance = EIGRP_MAX_METRIC; -	new->destination = NULL;  	return new;  } @@ -120,12 +119,11 @@ void eigrp_prefix_descriptor_add(struct route_table *topology,  {  	struct route_node *rn; -	rn = route_node_get(topology, pe->destination); +	rn = route_node_get(topology, &pe->destination);  	if (rn->info) {  		if (IS_DEBUG_EIGRP_EVENT) -			zlog_debug( -				"%s: %pFX Should we have found this entry in the topo table?", -				__func__, pe->destination); +			zlog_debug("%s: %pFX Should we have found this entry in the topo table?", +				   __func__, &pe->destination);  		route_unlock_node(rn);  	} @@ -147,8 +145,7 @@ void eigrp_route_descriptor_add(struct eigrp *eigrp,  		listnode_add_sort(node->entries, entry);  		entry->prefix = node; -		eigrp_zebra_route_add(eigrp, node->destination, -				      l, node->fdistance); +		eigrp_zebra_route_add(eigrp, &node->destination, l, node->fdistance);  	}  	list_delete(&l); @@ -168,7 +165,7 @@ void eigrp_prefix_descriptor_delete(struct eigrp *eigrp,  	if (!eigrp)  		return; -	rn = route_node_lookup(table, pe->destination); +	rn = route_node_lookup(table, &pe->destination);  	if (!rn)  		return; @@ -182,8 +179,7 @@ void eigrp_prefix_descriptor_delete(struct eigrp *eigrp,  		eigrp_route_descriptor_delete(eigrp, pe, ne);  	list_delete(&pe->entries);  	list_delete(&pe->rij); -	eigrp_zebra_route_delete(eigrp, pe->destination); -	prefix_free(&pe->destination); +	eigrp_zebra_route_delete(eigrp, &pe->destination);  	rn->info = NULL;  	route_unlock_node(rn); // Lookup above @@ -200,7 +196,7 @@ void eigrp_route_descriptor_delete(struct eigrp *eigrp,  {  	if (listnode_lookup(node->entries, entry) != NULL) {  		listnode_delete(node->entries, entry); -		eigrp_zebra_route_delete(eigrp, node->destination); +		eigrp_zebra_route_delete(eigrp, &node->destination);  		XFREE(MTYPE_EIGRP_ROUTE_DESCRIPTOR, entry);  	}  } @@ -462,14 +458,13 @@ void eigrp_update_routing_table(struct eigrp *eigrp,  	successors = eigrp_topology_get_successor_max(prefix, eigrp->max_paths);  	if (successors) { -		eigrp_zebra_route_add(eigrp, prefix->destination, successors, -				      prefix->fdistance); +		eigrp_zebra_route_add(eigrp, &prefix->destination, successors, prefix->fdistance);  		for (ALL_LIST_ELEMENTS_RO(successors, node, entry))  			entry->flags |= EIGRP_ROUTE_DESCRIPTOR_INTABLE_FLAG;  		list_delete(&successors);  	} else { -		eigrp_zebra_route_delete(eigrp, prefix->destination); +		eigrp_zebra_route_delete(eigrp, &prefix->destination);  		for (ALL_LIST_ELEMENTS_RO(prefix->entries, node, entry))  			entry->flags &= ~EIGRP_ROUTE_DESCRIPTOR_INTABLE_FLAG;  	}  | 
