diff --git a/protocols/bgp/server/peer.go b/protocols/bgp/server/peer.go index 05a2d3c0312872f41d320e4b72343e7a52a0ceda..1a965b310435e059b80c56bfddab11b04eb243c2 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)) }