]> git.proxmox.com Git - mirror_frr.git/commitdiff
bgpd: Vanish FQDN capability hostname/domainname before handling new BGP OPEN
authorDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 30 Jan 2023 21:23:38 +0000 (23:23 +0200)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 30 Jan 2023 21:34:41 +0000 (23:34 +0200)
Before this, if the peer disables sending FQDN capability, the old hostname
still (STALE) exists and is misleading in the outputs of `show bgp ...`.

Especially when using with `bgp default show-hostname`, etc.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgp_fsm.c

index c57e148ef8b59a9f08640ec60b352b1349946723..9624adfbe25a8aa6fb0c8bb03bd42edfd4ffbdaf 100644 (file)
@@ -279,22 +279,20 @@ static struct peer *peer_xfer_conn(struct peer *from_peer)
                }
        }
 
+       if (peer->hostname) {
+               XFREE(MTYPE_BGP_PEER_HOST, peer->hostname);
+               peer->hostname = NULL;
+       }
        if (from_peer->hostname != NULL) {
-               if (peer->hostname) {
-                       XFREE(MTYPE_BGP_PEER_HOST, peer->hostname);
-                       peer->hostname = NULL;
-               }
-
                peer->hostname = from_peer->hostname;
                from_peer->hostname = NULL;
        }
 
+       if (peer->domainname) {
+               XFREE(MTYPE_BGP_PEER_HOST, peer->domainname);
+               peer->domainname = NULL;
+       }
        if (from_peer->domainname != NULL) {
-               if (peer->domainname) {
-                       XFREE(MTYPE_BGP_PEER_HOST, peer->domainname);
-                       peer->domainname = NULL;
-               }
-
                peer->domainname = from_peer->domainname;
                from_peer->domainname = NULL;
        }