]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Do not send route-refresh if it wasn't negotiated in capabilities
authorDonatas Abraitis <donatas@opensourcerouting.org>
Sun, 1 Sep 2024 19:35:22 +0000 (22:35 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Sun, 1 Sep 2024 19:35:22 +0000 (22:35 +0300)
Fixes: 04dfcb14ff9a02b053dfed0b3f657c6643d73830 ("bgpd: Deprecate Prestandard Route Refresh capability (128)")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgp_packet.c

index 2a2c9bdba9967d19a701e21afe0e885cbcc69239..fa03f1d21de5e49100b4deec45abfe32c02a1c09 100644 (file)
@@ -1116,10 +1116,10 @@ void bgp_route_refresh_send(struct peer *peer, afi_t afi, safi_t safi,
        s = stream_new(peer->max_packet_size);
 
        /* Make BGP update packet. */
-       if (CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_RCV))
-               bgp_packet_set_marker(s, BGP_MSG_ROUTE_REFRESH_NEW);
-       else
-               bgp_packet_set_marker(s, BGP_MSG_ROUTE_REFRESH_OLD);
+       if (!CHECK_FLAG(peer->cap, PEER_CAP_REFRESH_RCV))
+               return;
+
+       bgp_packet_set_marker(s, BGP_MSG_ROUTE_REFRESH_NEW);
 
        /* Encode Route Refresh message. */
        stream_putw(s, pkt_afi);