From: Ondrej Zajicek Date: Mon, 24 Mar 2025 16:03:41 +0000 (+0100) Subject: BGP: Fix missing case for decoding link-local next hops in VPN SAFI X-Git-Tag: v2.17~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cfa6cf296ae0038cbc3b5255c6c6c5d093e700fe;p=thirdparty%2Fbird.git BGP: Fix missing case for decoding link-local next hops in VPN SAFI --- diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c index bfb8c672e..4ee7c5a5f 100644 --- a/proto/bgp/packets.c +++ b/proto/bgp/packets.c @@ -1448,6 +1448,9 @@ bgp_decode_next_hop_vpn(struct bgp_parse_state *s, byte *data, uint len, rta *a) nh[0] = ipa_from_ip6(get_ip6(data+8)); nh[1] = ipa_from_ip6(get_ip6(data+32)); + if (ipa_is_link_local(nh[0])) + { nh[1] = nh[0]; nh[0] = IPA_NONE; } + if (ipa_is_ip4(nh[0]) || !ip6_is_link_local(nh[1])) nh[1] = IPA_NONE; }