summaryrefslogtreecommitdiff
path: root/eigrpd/eigrp_interface.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-02-11 07:16:35 -0500
committerDonald Sharp <sharpd@cumulusnetworks.com>2019-02-11 07:16:35 -0500
commitb245781a6bc53a28da5a0fc3c2a7b2d8954f0b04 (patch)
tree3967ea59f28c94c5c9eb5818c2300ed9ab8468f7 /eigrpd/eigrp_interface.c
parent5edc2cf3eadccb4e592fa3288136165ec9246ed9 (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.c12
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;
}