diff options
author | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2015-10-21 18:55:53 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2015-10-21 18:55:53 +0900 |
commit | 46231a72017a6d669e29ec80557ac89bdf220099 (patch) | |
tree | ee7add75aecad764189f23637bd8a8129e1cf757 | |
parent | f561312ceb92e85f0aa89b5c92cb04f0bb97f389 (diff) |
server: fix ROUTE_REFRESH handling
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r-- | server/peer.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/server/peer.go b/server/peer.go index c9c6e61e..f21ed0bd 100644 --- a/server/peer.go +++ b/server/peer.go @@ -205,8 +205,9 @@ func (peer *Peer) handleBGPmessage(m *bgp.BGPMessage) ([]*table.Path, bool, []*b if _, ok := peer.capMap[bgp.BGP_CAP_ROUTE_REFRESH]; ok { rfList := []bgp.RouteFamily{rf} peer.adjRib.DropOut(rfList) - pathList, filtered := peer.getBestFromLocal(rfList) - peer.adjRib.UpdateOut(pathList) + accepted, filtered := peer.getBestFromLocal(rfList) + peer.adjRib.UpdateOut(accepted) + pathList = append(pathList, accepted...) for _, path := range filtered { path.IsWithdraw = true pathList = append(pathList, path) |