Skip to content

Commit

Permalink
isis: do not include non-link-local IPv6 addresses in Hello PDUs
Browse files Browse the repository at this point in the history
RFC 5308 Section 3 says the following:
  For Hello PDUs, the "Interface Address" TLV MUST contain only the
  link-local IPv6 addresses assigned to the interface that is sending
  the Hello.

This fixes a problem where IPv6 routes were incorrectly computed using
unique local addresses (fc00::/7) as nexthops when testing holo-isis
in munet.

Signed-off-by: Renato Westphal <[email protected]>
  • Loading branch information
rwestphal committed Jan 8, 2025
1 parent d410b46 commit 43923ae
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion holo-isis/src/interface.rs
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,11 @@ impl Interface {
{
protocols_supported.push(Nlpid::Ipv6 as u8);
ipv6_addrs.extend(
self.system.ipv6_addr_list.iter().map(|addr| addr.ip()),
self.system
.ipv6_addr_list
.iter()
.filter(|addr| addr.ip().is_unicast_link_local())
.map(|addr| addr.ip()),
);
}

Expand Down

0 comments on commit 43923ae

Please sign in to comment.