]> 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>
Tue, 1 Apr 2025 18:37:21 +0000 (20:37 +0200)
proto/bgp/packets.c

index 9821081108263a4eb9af64f38165351426025876..dbf079be4a5b5c5c7f7dab13a2f66edb136a9403 100644 (file)
@@ -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;
   }