diff options
-rw-r--r-- | server/peer.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/server/peer.go b/server/peer.go index 11c71221..66b4c3a8 100644 --- a/server/peer.go +++ b/server/peer.go @@ -272,7 +272,14 @@ func (peer *Peer) ToApiStruct() *api.Peer { for _, rf := range peer.configuredRFlist() { advertized += uint32(peer.adjRib.GetOutCount(rf)) received += uint32(peer.adjRib.GetInCount(rf)) - accepted += uint32(peer.adjRib.GetInCount(rf)) + // FIXME: we should store 'accepted' in memory + for _, p := range peer.adjRib.GetInPathList(rf) { + applied, path := peer.applyDistributePolicies(p) + if applied && path == nil || !applied && peer.defaultDistributePolicy != config.DEFAULT_POLICY_TYPE_ACCEPT_ROUTE { + continue + } + accepted += 1 + } } } |