From e735b2b1cfdc7dd3ea9f1f324ab9158fc7f19802 Mon Sep 17 00:00:00 2001 From: ISHIDA Wataru Date: Mon, 27 Apr 2015 11:03:53 +0000 Subject: table: add AS loop detection Signed-off-by: ISHIDA Wataru --- server/peer.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'server/peer.go') diff --git a/server/peer.go b/server/peer.go index d56e3e34..d7c3ac07 100644 --- a/server/peer.go +++ b/server/peer.go @@ -551,6 +551,15 @@ func (peer *Peer) sendUpdateMsgFromPaths(pList []table.Path) { continue } + if peer.peerConfig.PeerAs == path.GetSourceAs() { + log.WithFields(log.Fields{ + "Topic": "Peer", + "Key": peer.peerConfig.NeighborAddress, + "Data": path, + }).Debug("AS PATH loop, ignore.") + continue + } + if !path.IsWithdraw() { applied, path := peer.applyPolicies(peer.exportPolicies, path) if applied && path == nil { -- cgit v1.2.3