From e5e55306f550dedd092228156a51d18bb37f23d2 Mon Sep 17 00:00:00 2001 From: Maximilian Wilhelm <max@sdn.clinic> Date: Sat, 23 Jun 2018 18:26:51 +0200 Subject: [PATCH] Don't export routes learned via iBGP to an iBGP peer. Signed-off-by: Maximilian Wilhelm <max@sdn.clinic> --- routingtable/adjRIBOut/adj_rib_out.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/routingtable/adjRIBOut/adj_rib_out.go b/routingtable/adjRIBOut/adj_rib_out.go index e5ea8e51..b667ac77 100644 --- a/routingtable/adjRIBOut/adj_rib_out.go +++ b/routingtable/adjRIBOut/adj_rib_out.go @@ -45,6 +45,11 @@ func (a *AdjRIBOut) AddPath(pfx bnet.Prefix, p *route.Path) error { return nil } + // Don't export routes learned via iBGP to an iBGP neighbor + if !p.BGPPath.EBGP && a.neighbor.IBGP { + return nil + } + p = p.Copy() if !a.neighbor.IBGP && !a.neighbor.RouteServerClient { p.BGPPath.ASPath = fmt.Sprintf("%d %s", a.neighbor.LocalASN, p.BGPPath.ASPath) -- GitLab