diff --git a/protocols/bgp/server/fsm_address_family.go b/protocols/bgp/server/fsm_address_family.go index 5426d07f3b2f0079cb382824c3ccbb8e570237fc..faf2ff3639505b5425cdb7499960f03c059c1f4d 100644 --- a/protocols/bgp/server/fsm_address_family.go +++ b/protocols/bgp/server/fsm_address_family.go @@ -29,23 +29,23 @@ type fsmAddressFamily struct { updateSender *UpdateSender - addPathSend routingtable.ClientOptions - addPathRecv bool - addPathRX bool + addPathSend routingtable.ClientOptions + addPathRXConfigured bool + addPathRX bool initialized bool } func newFSMAddressFamily(afi uint16, safi uint8, params *familyParameters, fsm *FSM) *fsmAddressFamily { return &fsmAddressFamily{ - afi: afi, - safi: safi, - fsm: fsm, - rib: params.rib, - importFilter: params.importFilter, - exportFilter: params.exportFilter, - addPathRecv: params.addPathRecv, - addPathSend: params.addPathSend, + afi: afi, + safi: safi, + fsm: fsm, + rib: params.rib, + importFilter: params.importFilter, + exportFilter: params.exportFilter, + addPathRXConfigured: params.addPathRXConfigured, + addPathSend: params.addPathSend, } } diff --git a/protocols/bgp/server/fsm_open_sent.go b/protocols/bgp/server/fsm_open_sent.go index dd13dbfaa4a0f66624fc292dee97e6e5dd56abff..61da003e0ee692ff1c8066b67d7ddabbfd692747 100644 --- a/protocols/bgp/server/fsm_open_sent.go +++ b/protocols/bgp/server/fsm_open_sent.go @@ -197,14 +197,14 @@ func (s *openSentState) processAddPathCapability(addPathCap packet.AddPathCapabi f.addPathRX = true } case packet.AddPathSend: - if f.addPathRecv { + if f.addPathRXConfigured { f.addPathRX = true } case packet.AddPathSendReceive: if !f.addPathSend.BestOnly { f.addPathRX = true } - if f.addPathRecv { + if f.addPathRXConfigured { f.addPathRX = true } } diff --git a/protocols/bgp/server/peer.go b/protocols/bgp/server/peer.go index de8d3d65de4ce3f9e9be39a42b86607e8afa3c30..4402bb7024537bb329e5fae92eab198ecea85a8c 100644 --- a/protocols/bgp/server/peer.go +++ b/protocols/bgp/server/peer.go @@ -47,8 +47,8 @@ type familyParameters struct { importFilter *filter.Filter exportFilter *filter.Filter - addPathSend routingtable.ClientOptions - addPathRecv bool + addPathSend routingtable.ClientOptions + addPathRXConfigured bool } func (p *peer) snapshot() PeerInfo { @@ -133,11 +133,11 @@ func newPeer(c config.Peer, server *bgpServer) (*peer, error) { if c.IPv4 != nil { p.ipv4 = &familyParameters{ - rib: c.IPv4.RIB, - importFilter: filterOrDefault(c.IPv4.ImportFilter), - exportFilter: filterOrDefault(c.IPv4.ExportFilter), - addPathRecv: c.IPv4.AddPathRecv, - addPathSend: c.IPv4.AddPathSend, + rib: c.IPv4.RIB, + importFilter: filterOrDefault(c.IPv4.ImportFilter), + exportFilter: filterOrDefault(c.IPv4.ExportFilter), + addPathRXConfigured: c.IPv4.AddPathRecv, + addPathSend: c.IPv4.AddPathSend, } } @@ -154,11 +154,11 @@ func newPeer(c config.Peer, server *bgpServer) (*peer, error) { if c.IPv6 != nil { p.ipv6 = &familyParameters{ - rib: c.IPv6.RIB, - importFilter: filterOrDefault(c.IPv6.ImportFilter), - exportFilter: filterOrDefault(c.IPv6.ExportFilter), - addPathRecv: c.IPv6.AddPathRecv, - addPathSend: c.IPv6.AddPathSend, + rib: c.IPv6.RIB, + importFilter: filterOrDefault(c.IPv6.ImportFilter), + exportFilter: filterOrDefault(c.IPv6.ExportFilter), + addPathRXConfigured: c.IPv6.AddPathRecv, + addPathSend: c.IPv6.AddPathSend, } caps = append(caps, multiProtocolCapability(packet.IPv6AFI)) }