summaryrefslogtreecommitdiff
path: root/isisd/isis_circuit.c
diff options
context:
space:
mode:
authorPhilippe Guibert <philippe.guibert@6wind.com>2023-04-03 18:06:48 +0200
committerPhilippe Guibert <philippe.guibert@6wind.com>2023-04-04 09:06:37 +0200
commit9f04ffe8d61bb09d0a52a901612c6fad4a19978c (patch)
treee06f35c40d391a7ed9ea0f3f9dfc377181924c41 /isisd/isis_circuit.c
parentc810c690452fc56f4c1b74ad7d0596074a917bbd (diff)
isisd: consider link local ipv4 addresses as valid
It is not possible to create an adjacency by using interface addresses within the `169.254.0.0/24` pool. When forging the IIH messages, the interface addresses from that pool are not appended: > Neither IPv4 nor IPv6 considered usable. Ignoring IIH Using this network pool is possible on other IS-IS implementations. Let us authorize to use such network addresses. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Diffstat (limited to 'isisd/isis_circuit.c')
-rw-r--r--isisd/isis_circuit.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index 124dcdd86d..64b405737f 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -286,8 +286,7 @@ void isis_circuit_add_addr(struct isis_circuit *circuit,
if (connected->address->family == AF_INET) {
uint32_t addr = connected->address->u.prefix4.s_addr;
addr = ntohl(addr);
- if (IPV4_NET0(addr) || IPV4_NET127(addr) || IN_CLASSD(addr)
- || IPV4_LINKLOCAL(addr))
+ if (IPV4_NET0(addr) || IPV4_NET127(addr) || IN_CLASSD(addr))
return;
for (ALL_LIST_ELEMENTS_RO(circuit->ip_addrs, node, ipv4))