summaryrefslogtreecommitdiffhomepage
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/server.go9
1 files changed, 3 insertions, 6 deletions
diff --git a/server/server.go b/server/server.go
index df25e91b..9761fc28 100644
--- a/server/server.go
+++ b/server/server.go
@@ -679,19 +679,16 @@ func (server *BgpServer) propagateUpdate(peer *Peer, pathList []*table.Path) ([]
} else {
candidates = rib.GetBestPathList(peer.TableID(), fs)
}
- paths := make([]*table.Path, 0, len(pathList))
+ paths := make([]*table.Path, 0, len(candidates))
for _, p := range candidates {
- t := false
for _, ext := range p.GetExtCommunities() {
if ext.String() == rt.String() {
- t = true
+ paths = append(paths, p)
break
}
}
- if t {
- paths = append(paths, p.Clone(path.IsWithdraw))
- }
}
+ paths = peer.processOutgoingPaths(paths, nil)
msgs = append(msgs, newSenderMsg(peer, paths, nil, false))
}
}