diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-02-11 07:16:35 -0500 | 
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-02-11 07:16:35 -0500 | 
| commit | b245781a6bc53a28da5a0fc3c2a7b2d8954f0b04 (patch) | |
| tree | 3967ea59f28c94c5c9eb5818c2300ed9ab8468f7 /eigrpd/eigrp_interface.c | |
| parent | 5edc2cf3eadccb4e592fa3288136165ec9246ed9 (diff) | |
eigrp: Make the eigrp_interface have a prefix instead of a *prefix
The prefix data structure was being freed yet still needed in the
future and it's a fundamental part of the eigrp_interface data
structure let's keep it there instead of having it be deleted
and then not.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'eigrpd/eigrp_interface.c')
| -rw-r--r-- | eigrpd/eigrp_interface.c | 12 | 
1 files changed, 6 insertions, 6 deletions
diff --git a/eigrpd/eigrp_interface.c b/eigrpd/eigrp_interface.c index 4ad1005f2f..c52a98ee25 100644 --- a/eigrpd/eigrp_interface.c +++ b/eigrpd/eigrp_interface.c @@ -68,7 +68,7 @@ struct eigrp_interface *eigrp_if_new(struct eigrp *eigrp, struct interface *ifp,  	/* Set zebra interface pointer. */  	ei->ifp = ifp; -	ei->address = p; +	prefix_copy(&ei->address, p);  	ifp->info = ei;  	listnode_add(eigrp->eiflist, ei); @@ -185,7 +185,7 @@ int eigrp_if_up(struct eigrp_interface *ei)  	struct prefix dest_addr; -	dest_addr = *ei->address; +	dest_addr = ei->address;  	apply_mask(&dest_addr);  	pe = eigrp_topology_table_lookup_ipv4(eigrp->topology_table,  					      &dest_addr); @@ -292,7 +292,7 @@ void eigrp_if_set_multicast(struct eigrp_interface *ei)  		/* The interface should belong to the EIGRP-all-routers group.  		 */  		if (!ei->member_allrouters -		    && (eigrp_if_add_allspfrouters(ei->eigrp, ei->address, +		    && (eigrp_if_add_allspfrouters(ei->eigrp, &ei->address,  						   ei->ifp->ifindex)  			>= 0))  			/* Set the flag only if the system call to join @@ -303,7 +303,7 @@ void eigrp_if_set_multicast(struct eigrp_interface *ei)  		 * group. */  		if (ei->member_allrouters) {  			/* Only actually drop if this is the last reference */ -			eigrp_if_drop_allspfrouters(ei->eigrp, ei->address, +			eigrp_if_drop_allspfrouters(ei->eigrp, &ei->address,  						    ei->ifp->ifindex);  			/* Unset the flag regardless of whether the system call  			   to leave @@ -339,7 +339,7 @@ void eigrp_if_free(struct eigrp_interface *ei, int source)  		eigrp_hello_send(ei, EIGRP_HELLO_GRACEFUL_SHUTDOWN, NULL);  	} -	dest_addr = *ei->address; +	dest_addr = ei->address;  	apply_mask(&dest_addr);  	pe = eigrp_topology_table_lookup_ipv4(eigrp->topology_table,  					      &dest_addr); @@ -375,7 +375,7 @@ struct eigrp_interface *eigrp_if_lookup_by_local_addr(struct eigrp *eigrp,  		if (ifp && ei->ifp != ifp)  			continue; -		if (IPV4_ADDR_SAME(&address, &ei->address->u.prefix4)) +		if (IPV4_ADDR_SAME(&address, &ei->address.u.prefix4))  			return ei;  	}  | 
