summaryrefslogtreecommitdiffhomepage
path: root/server/server.go
diff options
context:
space:
mode:
authorISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>2016-01-29 22:46:44 +0900
committerISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>2016-01-29 23:34:35 +0900
commit866edbb8d60a4545e859427598bc376937d9f670 (patch)
tree9ddaeb2f61db32daf937709f851cff986f91d4d0 /server/server.go
parent7c341b9f79778af55a32880f359cf1a0c036be42 (diff)
server: don't handle soft-reset-out for non-established peer
handling soft-reset-out for non-established peer causes filling adj-rib-out with routes not actually advertised Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Diffstat (limited to 'server/server.go')
-rw-r--r--server/server.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/server/server.go b/server/server.go
index 2d508434..a49914e0 100644
--- a/server/server.go
+++ b/server/server.go
@@ -1908,6 +1908,9 @@ func (server *BgpServer) handleGrpc(grpcReq *GrpcRequest) []*SenderMsg {
logOp(grpcReq.Name, "Neighbor soft reset out")
}
for _, peer := range peers {
+ if peer.fsm.state != bgp.BGP_FSM_ESTABLISHED {
+ continue
+ }
rfList := peer.configuredRFlist()
sentPathList := peer.adjRibOut.PathList(rfList, false)
peer.adjRibOut.Drop(rfList)