summaryrefslogtreecommitdiffhomepage
path: root/server
diff options
context:
space:
mode:
authorISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>2015-07-28 23:52:18 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2015-08-03 14:16:45 +0900
commit4ca0ced120072f9909869360184c6849c8a19704 (patch)
tree1aaae496c0dc2df62526fefa37d6a8eb0e678f7a /server
parent10e68f5cba24663a5d562f86fabe65f17a4a49fd (diff)
server: fix bug of re-establish
we must call filterpath() in case of re-establish. scenario_test is also added to check this. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Diffstat (limited to 'server')
-rw-r--r--server/server.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/server/server.go b/server/server.go
index 65253a70..444ef2ca 100644
--- a/server/server.go
+++ b/server/server.go
@@ -628,7 +628,7 @@ func (server *BgpServer) handleFSMMessage(peer *Peer, e *fsmMsg, incoming chan *
pathList = applyPolicies(peer, loc, POLICY_DIRECTION_EXPORT, peer.getBests(loc))
} else {
peer.conf.Transport.TransportConfig.LocalAddress = peer.fsm.LocalAddr()
- for _, path := range peer.getBests(globalRib) {
+ for _, path := range filterpath(peer, peer.getBests(globalRib)) {
p := path.Clone(path.IsWithdraw)
p.UpdatePathAttrs(&server.bgpConfig.Global, &peer.conf)
pathList = append(pathList, p)