summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_updgrp.c4
-rw-r--r--doc/user/bgp.rst3
2 files changed, 6 insertions, 1 deletions
diff --git a/bgpd/bgp_updgrp.c b/bgpd/bgp_updgrp.c
index ace18000f8..d2e563b237 100644
--- a/bgpd/bgp_updgrp.c
+++ b/bgpd/bgp_updgrp.c
@@ -373,11 +373,13 @@ static unsigned int updgrp_hash_key_make(const void *p)
* There are certain peers that must get their own update-group:
* - lonesoul peers
* - peers that negotiated ORF
+ * - maximum-prefix-out is set
*/
if (CHECK_FLAG(peer->flags, PEER_FLAG_LONESOUL)
|| CHECK_FLAG(peer->af_cap[afi][safi], PEER_CAP_ORF_PREFIX_SM_RCV)
|| CHECK_FLAG(peer->af_cap[afi][safi],
- PEER_CAP_ORF_PREFIX_SM_OLD_RCV))
+ PEER_CAP_ORF_PREFIX_SM_OLD_RCV)
+ || CHECK_FLAG(peer->af_flags[afi][safi], PEER_FLAG_MAX_PREFIX_OUT))
key = jhash_1word(jhash(peer->host, strlen(peer->host), SEED2),
key);
diff --git a/doc/user/bgp.rst b/doc/user/bgp.rst
index 9983911581..764428cb0a 100644
--- a/doc/user/bgp.rst
+++ b/doc/user/bgp.rst
@@ -1399,6 +1399,9 @@ Configuring Peers
Sets a maximum number of prefixes we can send to a given peer.
+ Since sent prefix count is managed by update-groups, this option
+ creates a separate update-group for outgoing updates.
+
.. index:: [no] neighbor PEER local-as AS-NUMBER [no-prepend] [replace-as]
.. clicmd:: [no] neighbor PEER local-as AS-NUMBER [no-prepend] [replace-as]