From 4b983b5161ede0b398a495010f05e4beedbc43e6 Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Wed, 14 Aug 2024 13:17:57 +0300 Subject: [PATCH] bgpd: Do not use mapped IPv4/IPv6 addresses for unnumbered peering MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before: ``` router bgp 4283023031 bgp router-id 100.83.23.31 neighbor leafs peer-group neighbor leafs remote-as external neighbor eth1 interface peer-group leafs ! address-family ipv4 unicast network 100.83.23.31/32 exit-address-family ! exit ``` ``` leaf2# show ip bgp 100.83.23.31/32 … 4283023031 ::ffff:6453:171f (inaccessible) from node31-h23-osl3(swp32) (100.83.23.31) (fe80::a6bf:1ff:fe2d:689a) (used) Origin IGP, metric 0, invalid, external Last update: Tue Aug 13 08:36:46 2024 ``` Fixes: fc5a738409eac9ca938cbb398872ea77d9cc5023 ("bgpd: set ipv4-mapped ipv6 for ipv4 with ipv6 nexthop") Signed-off-by: Donatas Abraitis --- bgpd/bgp_updgrp_packet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bgpd/bgp_updgrp_packet.c b/bgpd/bgp_updgrp_packet.c index 843319b6d0da..1a540266c922 100644 --- a/bgpd/bgp_updgrp_packet.c +++ b/bgpd/bgp_updgrp_packet.c @@ -534,7 +534,7 @@ struct stream *bpacket_reformat_for_peer(struct bpacket *pkt, gnh_modified = 1; } - if (peer->nexthop.v4.s_addr != INADDR_ANY && + if (!peer->conf_if && peer->nexthop.v4.s_addr != INADDR_ANY && (IN6_IS_ADDR_UNSPECIFIED(mod_v6nhg) || (IN6_IS_ADDR_LINKLOCAL(mod_v6nhg) && ((peer->connection->su.sa.sa_family == AF_INET6 &&