From ad2f92b6b07883f6a2a26499eab1776933185960 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Mon, 18 Aug 2014 18:05:25 +0200 Subject: [PATCH] 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 --- isisd/isis_pdu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c index 5f18135e87..e0208fa47f 100644 --- a/isisd/isis_pdu.c +++ b/isisd/isis_pdu.c @@ -537,7 +537,7 @@ process_p2p_hello (struct isis_circuit *circuit) { /* 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 @@ process_lan_hello (int level, struct isis_circuit *circuit, u_char * ssnpa) { /* 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)) { -- 2.39.5