From cab913cb45d09a4151263bb08ac7d671fdb2cf14 Mon Sep 17 00:00:00 2001 From: Satoshi Fujimoto Date: Tue, 27 Mar 2018 11:07:14 +0900 Subject: [PATCH] server/server: Set rsRib to RS client in adding dynamic neighbor Currently, globalRib is always set to dynamic neighbors even if they are route server clients. This patch fixes to set rsRib when the neighbor is a route server client. Signed-off-by: Satoshi Fujimoto --- server/server.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/server.go b/server/server.go index 5c6b3ab6..e0f6f5cc 100644 --- a/server/server.go +++ b/server/server.go @@ -251,7 +251,11 @@ func (server *BgpServer) Serve() { log.WithFields(log.Fields{ "Topic": "Peer", }).Debugf("Accepted a new dynamic neighbor from:%s", remoteAddr) - peer := newDynamicPeer(&server.bgpConfig.Global, remoteAddr, pg.Conf, server.globalRib, server.policy) + rib := server.globalRib + if pg.Conf.RouteServer.Config.RouteServerClient { + rib = server.rsRib + } + peer := newDynamicPeer(&server.bgpConfig.Global, remoteAddr, pg.Conf, rib, server.policy) if peer == nil { log.WithFields(log.Fields{ "Topic": "Peer",