mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-01 07:26:05 +00:00
zebra: Fix crash in connected.c due to RA change
Back out original null pointer fix targeted it was the wrong fix. Basically when a ip address is deleted the RA code was waiting till after the connected pointer was deleted to set the RA appropriately. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
This commit is contained in:
parent
ca208d065c
commit
f11b863d69
@ -67,15 +67,15 @@ connected_withdraw (struct connected *ifc)
|
||||
/* The address is not in the kernel anymore, so clear the flag */
|
||||
UNSET_FLAG(ifc->conf, ZEBRA_IFC_QUEUED);
|
||||
|
||||
/* Enable RA suppression if there are no IPv6 addresses on this interface */
|
||||
if (! ipv6_address_configured(ifc->ifp))
|
||||
ipv6_nd_suppress_ra_set (ifc->ifp, RA_SUPPRESS);
|
||||
|
||||
if (!CHECK_FLAG (ifc->conf, ZEBRA_IFC_CONFIGURED))
|
||||
{
|
||||
listnode_delete (ifc->ifp->connected, ifc);
|
||||
connected_free (ifc);
|
||||
}
|
||||
|
||||
/* Enable RA suppression if there are no IPv6 addresses on this interface */
|
||||
if (! ipv6_address_configured(ifc->ifp))
|
||||
ipv6_nd_suppress_ra_set (ifc->ifp, RA_SUPPRESS);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1770,9 +1770,6 @@ ipv6_address_configured (struct interface *ifp)
|
||||
struct connected *connected;
|
||||
struct listnode *node;
|
||||
|
||||
if (!ifp)
|
||||
return 0;
|
||||
|
||||
for (ALL_LIST_ELEMENTS_RO (ifp->connected, node, connected))
|
||||
if (CHECK_FLAG (connected->conf, ZEBRA_IFC_REAL) && (connected->address->family == AF_INET6))
|
||||
return 1;
|
||||
|
Loading…
Reference in New Issue
Block a user