]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
BGP: Fix missing case for decoding link-local next hops in VPN SAFI
authorOndrej Zajicek <santiago@crfreenet.org>
Mon, 24 Mar 2025 16:03:41 +0000 (17:03 +0100)
committerMaria Matejka <mq@ucw.cz>
Mon, 31 Mar 2025 10:35:33 +0000 (12:35 +0200)
proto/bgp/packets.c

index a40ca91b406a117b9bd8385b09c62cdbf795d96a..eeee3b4f3fee4497ed94d41e3bc7770073100eeb 100644 (file)
@@ -1487,6 +1487,9 @@ bgp_decode_next_hop_vpn(struct bgp_parse_state *s, byte *data, uint len, ea_list
     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;
   }