From d1edc53ded7c02d869c790b499643d7f00686747 Mon Sep 17 00:00:00 2001 From: Daniel Czerwonk <daniel@dan-nrw.de> Date: Tue, 17 Jul 2018 08:20:55 +0200 Subject: [PATCH] peer add-path per family --- protocols/bgp/server/peer.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/protocols/bgp/server/peer.go b/protocols/bgp/server/peer.go index 05a2d3c0..1a965b31 100644 --- a/protocols/bgp/server/peer.go +++ b/protocols/bgp/server/peer.go @@ -29,8 +29,6 @@ type peer struct { fsmsMu sync.Mutex routerID uint32 - addPathSend routingtable.ClientOptions - addPathRecv bool reconnectInterval time.Duration keepaliveTime time.Duration holdTime time.Duration @@ -44,9 +42,13 @@ type peer struct { } type familyParameters struct { - rib *locRIB.LocRIB + rib *locRIB.LocRIB + importFilter *filter.Filter exportFilter *filter.Filter + + addPathSend routingtable.ClientOptions + addPathRecv bool } func (p *peer) snapshot() PeerInfo { @@ -120,8 +122,6 @@ func newPeer(c config.Peer, server *bgpServer) (*peer, error) { peerASN: c.PeerAS, localASN: c.LocalAS, fsms: make([]*FSM, 0), - addPathSend: c.AddPathSend, - addPathRecv: c.AddPathRecv, reconnectInterval: c.ReconnectInterval, keepaliveTime: c.KeepAlive, holdTime: c.HoldTime, @@ -136,6 +136,8 @@ func newPeer(c config.Peer, server *bgpServer) (*peer, error) { rib: c.IPv4.RIB, importFilter: filterOrDefault(c.IPv4.ImportFilter), exportFilter: filterOrDefault(c.IPv4.ExportFilter), + addPathRecv: c.IPv4.AddPathRecv, + addPathSend: c.IPv4.AddPathSend, } } @@ -155,6 +157,8 @@ func newPeer(c config.Peer, server *bgpServer) (*peer, error) { rib: c.IPv6.RIB, importFilter: filterOrDefault(c.IPv6.ImportFilter), exportFilter: filterOrDefault(c.IPv6.ExportFilter), + addPathRecv: c.IPv6.AddPathRecv, + addPathSend: c.IPv6.AddPathSend, } caps = append(caps, multiProtocolCapability(packet.IPv6AFI)) } -- GitLab