summaryrefslogtreecommitdiffhomepage
path: root/server/server.go
diff options
context:
space:
mode:
authorWataru Ishida <ishida.wataru@lab.ntt.co.jp>2017-05-14 07:25:17 -0400
committerWataru Ishida <ishida.wataru@lab.ntt.co.jp>2017-05-14 07:25:17 -0400
commit4215941eec35635f59c068de968523913df2a087 (patch)
tree2b8e803e2780cb9a37b61235dde69f042a94e20c /server/server.go
parent9b9a65d410bbf35730f4970932c7688203e096b1 (diff)
server: avoid sending unwanted withdrawals to iBGP peers
when the old best was from iBGP, we don't need to send withdrawals to iBGP peers. Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
Diffstat (limited to 'server/server.go')
-rw-r--r--server/server.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/server/server.go b/server/server.go
index 6e20979b..cee21283 100644
--- a/server/server.go
+++ b/server/server.go
@@ -367,7 +367,7 @@ func filterpath(peer *Peer, path, old *table.Path) *table.Path {
}
if ignore {
- if !path.IsWithdraw && old != nil && old.GetSource().Address.String() != peer.ID() {
+ if !path.IsWithdraw && old != nil && old.GetSource().Address.String() != peer.ID() && old.GetSource().AS != peer.fsm.pConf.State.PeerAs {
// we advertise a route from ebgp,
// which is the old best. We got the
// new best from ibgp. We don't