lib: Treat v6 address as a v6 address

The code was making the correct assumption
that the v4 and v6 addresses start in the
same spot in memory and since we were looking
at a v6 prefix it would just work.  This
causes distress in SA systems, so let's just
make it happy.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2017-02-01 19:52:54 -05:00
parent 9010012aa1
commit 0527bd80c9

View File

@ -374,7 +374,7 @@ if_lookup_exact_address_vrf (void *src, int family, vrf_id_t vrf_id)
}
else if (family == AF_INET6)
{
if (IPV6_ADDR_SAME (&p->u.prefix4, (struct in6_addr *)src))
if (IPV6_ADDR_SAME (&p->u.prefix6, (struct in6_addr *)src))
return ifp;
}
}