isisd: type mix-up in 28a8cfc "don't require IPv4"
Whoops, these are in6_addrs, not prefix_ipv6... funnily enough, it does the
right thing either way, if it compiles, which it only does on Linux because
IN6_IS_ADDR_LINKLOCAL contains a cast to the right type. On BSD there is no
such cast, hence it explodes on trying to compile, trying to access struct
members of in6_addrs while operating on prefix_ipv6...
Fixes: 28a8cfc ("isisd: don't require IPv4 for adjacency")
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c
index 5f18135..e0208fa 100644
--- a/isisd/isis_pdu.c
+++ b/isisd/isis_pdu.c
@@ -537,7 +537,7 @@
{
/* TBA: check that we have a linklocal ourselves? */
struct listnode *node;
- struct prefix_ipv6 *ip;
+ struct in6_addr *ip;
for (ALL_LIST_ELEMENTS_RO (tlvs.ipv6_addrs, node, ip))
if (IN6_IS_ADDR_LINKLOCAL (ip))
{
@@ -1098,7 +1098,7 @@
{
/* TBA: check that we have a linklocal ourselves? */
struct listnode *node;
- struct prefix_ipv6 *ip;
+ struct in6_addr *ip;
for (ALL_LIST_ELEMENTS_RO (tlvs.ipv6_addrs, node, ip))
if (IN6_IS_ADDR_LINKLOCAL (ip))
{