]> git.proxmox.com Git - mirror_frr.git/blobdiff - eigrpd/eigrp_interface.c
eigrp: Make the eigrp_interface have a prefix instead of a *prefix
[mirror_frr.git] / eigrpd / eigrp_interface.c
index 4ad1005f2ff964e38cc8105accbccf7069ec0c99..c52a98ee2544099996970e76c3c40327e8378956 100644 (file)
@@ -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;
        }