From: Donald Sharp Date: Mon, 12 Oct 2020 14:36:37 +0000 (-0400) Subject: bgpd: Correctly calculate threshold being reached X-Git-Tag: frr-7.5~9^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=b61afc4ad1f96f74176a34db8d3eaf34a78e4aee;p=matthieu%2Ffrr.git bgpd: Correctly calculate threshold being reached if (pcout > (pcount * peer->max_threshold[afi][safi] / 100 )) is always true. So the very first route received will always trigger the warning. We actually want the warning to happen when we hit the threshold. Signed-off-by: Donald Sharp --- diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 88534f8fb8..ae353e3870 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -3167,7 +3167,8 @@ bool bgp_maximum_prefix_overflow(struct peer *peer, afi_t afi, safi_t safi, UNSET_FLAG(peer->af_sflags[afi][safi], PEER_STATUS_PREFIX_LIMIT); - if (pcount > (pcount * peer->pmax_threshold[afi][safi] / 100)) { + if (pcount + > (peer->pmax[afi][safi] * peer->pmax_threshold[afi][safi] / 100)) { if (CHECK_FLAG(peer->af_sflags[afi][safi], PEER_STATUS_PREFIX_THRESHOLD) && !always)