Implement per family prefix limit for bgp peers

Bug #1697345 reported by Nischal Sheth
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R3.2
Fix Committed
Wishlist
Nischal Sheth
R4.0
Fix Committed
Wishlist
Nischal Sheth
Trunk
Fix Committed
Wishlist
Nischal Sheth

Bug Description

Implement per address family prefix limits for bgp peers. It should
limit the number of primary paths learned from a given peer. This is
expected to be used commonly for BGPaaS peers but can be used for
regular peers as well.

The peer should get reset after sending a notification with a cease
subcode of MaxPrefixes. Additionally, a configurable idle-timeout
should be supported so that the peering stays down for the specified
time before being brought up.

UI changes to configure the prefix-limit and idle-timeout are tracked
by bug 1707803.

Nischal Sheth (nsheth)
description: updated
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/33173
Submitter: Nischal Sheth (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/33173
Committed: http://github.com/Juniper/contrail-controller/commit/f80f0a393b2cc3743fb22fd9ae96e1a79ceea37c
Submitter: Zuul (<email address hidden>)
Branch: master

commit f80f0a393b2cc3743fb22fd9ae96e1a79ceea37c
Author: Nischal Sheth <email address hidden>
Date: Sat Jun 10 23:32:09 2017 -0700

Implement per family prefix-limit for bgp peers

Following changes are implemented:

- Keep track of primary path count per family for each bgp peer
- Trigger a prefix limit check for the peer when limit is exceeded
- Actual check happens in the context of bgp::StateMachine Task
- Clear the peer and send notification with cease subcode MaxPrefixes
- Check prefix limit when peer configuration is changed

Pending - add an idle timeout after clearing the peer

Change-Id: Iefce9a2a692088af2cc69deeaf12e19ca24373d6
Partial-Bug: 1697345

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R4.0

Review in progress for https://review.opencontrail.org/33364
Submitter: Nischal Sheth (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R3.2

Review in progress for https://review.opencontrail.org/33365
Submitter: Nischal Sheth (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/33364
Committed: http://github.com/Juniper/contrail-controller/commit/5a22f959d13eec9f9eda74c8fd4c36fd479d42c2
Submitter: Zuul (<email address hidden>)
Branch: R4.0

commit 5a22f959d13eec9f9eda74c8fd4c36fd479d42c2
Author: Nischal Sheth <email address hidden>
Date: Sat Jun 10 23:32:09 2017 -0700

Implement per family prefix-limit for bgp peers

Following changes are implemented:

- Keep track of primary path count per family for each bgp peer
- Trigger a prefix limit check for the peer when limit is exceeded
- Actual check happens in the context of bgp::StateMachine Task
- Clear the peer and send notification with cease subcode MaxPrefixes
- Check prefix limit when peer configuration is changed

Pending - add an idle timeout after clearing the peer

Change-Id: Iefce9a2a692088af2cc69deeaf12e19ca24373d6
Partial-Bug: 1697345
(cherry picked from commit f80f0a393b2cc3743fb22fd9ae96e1a79ceea37c)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/33365
Committed: http://github.com/Juniper/contrail-controller/commit/3f6814ea2cdbf306fbe2183caf00943d97f363b4
Submitter: Zuul (<email address hidden>)
Branch: R3.2

commit 3f6814ea2cdbf306fbe2183caf00943d97f363b4
Author: Nischal Sheth <email address hidden>
Date: Sat Jun 10 23:32:09 2017 -0700

Implement per family prefix-limit for bgp peers

Following changes are implemented:

- Keep track of primary path count per family for each bgp peer
- Trigger a prefix limit check for the peer when limit is exceeded
- Actual check happens in the context of bgp::StateMachine Task
- Clear the peer and send notification with cease subcode MaxPrefixes
- Check prefix limit when peer configuration is changed

Pending - add an idle timeout after clearing the peer

Change-Id: Iefce9a2a692088af2cc69deeaf12e19ca24373d6
Partial-Bug: 1697345
(cherry picked from commit f80f0a393b2cc3743fb22fd9ae96e1a79ceea37c)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/33719
Submitter: Nischal Sheth (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R4.0

Review in progress for https://review.opencontrail.org/33814
Submitter: Nischal Sheth (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R3.2

Review in progress for https://review.opencontrail.org/33815
Submitter: Nischal Sheth (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/33815
Committed: http://github.com/Juniper/contrail-controller/commit/ae93d0a80bdfdfc76bd13a3b9a3979019ab4a40a
Submitter: Zuul (<email address hidden>)
Branch: R3.2

commit ae93d0a80bdfdfc76bd13a3b9a3979019ab4a40a
Author: Nischal Sheth <email address hidden>
Date: Mon Jul 17 14:00:14 2017 -0700

Support idle-timeout after prefix-limit is exceeded

If a session is terminated because the configured prefix-limit is
exceeded, do not allow it to get established till the configured
idle-timeout is exceeded.

Any significant change to the bgp peering, which would cause the
session to reset, results in the idle timer being cancelled and
the session being allowed to re-establish. Of course, the session
would still be subject to the configured prefix-limit after it
comes up again.

Change-Id: I007ada064df9b93352a4c50ff0511083331bc55d
Closes-Bug: 1697345

Nischal Sheth (nsheth)
description: updated
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/33719
Committed: http://github.com/Juniper/contrail-controller/commit/81cb81470a4775b073526e98f9d5a4bb7ca2181b
Submitter: Zuul (<email address hidden>)
Branch: master

commit 81cb81470a4775b073526e98f9d5a4bb7ca2181b
Author: Nischal Sheth <email address hidden>
Date: Mon Jul 17 14:00:14 2017 -0700

Support idle-timeout after prefix-limit is exceeded

If a session is terminated because the configured prefix-limit is
exceeded, do not allow it to get established till the configured
idle-timeout is exceeded.

Any significant change to the bgp peering, which would cause the
session to reset, results in the idle timer being cancelled and
the session being allowed to re-establish. Of course, the session
would still be subject to the configured prefix-limit after it
comes up again.

Change-Id: I007ada064df9b93352a4c50ff0511083331bc55d
Closes-Bug: 1697345

Nischal Sheth (nsheth)
description: updated
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/33814
Committed: http://github.com/Juniper/contrail-controller/commit/b1f41b020353a20ba764db48ae9b59da5539b320
Submitter: Zuul (<email address hidden>)
Branch: R4.0

commit b1f41b020353a20ba764db48ae9b59da5539b320
Author: Nischal Sheth <email address hidden>
Date: Mon Jul 17 14:00:14 2017 -0700

Support idle-timeout after prefix-limit is exceeded

If a session is terminated because the configured prefix-limit is
exceeded, do not allow it to get established till the configured
idle-timeout is exceeded.

Any significant change to the bgp peering, which would cause the
session to reset, results in the idle timer being cancelled and
the session being allowed to re-establish. Of course, the session
would still be subject to the configured prefix-limit after it
comes up again.

Change-Id: I007ada064df9b93352a4c50ff0511083331bc55d
Closes-Bug: 1697345

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.