diff --git a/protocols/bgp/server/peer.go b/protocols/bgp/server/peer.go index 7e33cd5c1462d5ce21df9005300e18720b6e1159..02cf053bf000c5d1dd232c2243b7b617062a8fcf 100644 --- a/protocols/bgp/server/peer.go +++ b/protocols/bgp/server/peer.go @@ -126,6 +126,12 @@ func newPeer(c config.Peer, rib *locRIB.LocRIB, server *bgpServer) (*peer, error routeReflectorClient: c.RouteReflectorClient, clusterID: c.RouteReflectorClusterID, } + + // If we are a route reflector and no ClusterID was set, use our RouterID + if p.routeReflectorClient && p.clusterID == 0 { + p.clusterID = c.RouterID + } + p.fsms = append(p.fsms, NewActiveFSM2(p)) caps := make(packet.Capabilities, 0)