diff options
| author | bisdhdh <biswajit.sadhu@gmail.com> | 2019-10-23 23:44:51 +0530 |
|---|---|---|
| committer | bisdhdh <biswajit.sadhu@gmail.com> | 2020-01-23 09:34:25 +0530 |
| commit | f009ff2697355b2435a576bd2c129c502cc6ebb6 (patch) | |
| tree | 7891afe21fc909d5a5ebf2aceb3ac424fda37421 /bgpd/bgp_fsm.h | |
| parent | cfd47646b35b07da30218597ed21d4ee7e5985ea (diff) | |
bgpd: Adding Selection Deferral Timer handler changes.
* Selection Deferral Timer for Graceful Restart.
* Added selection deferral timer handling function.
* Route marking as selection defer when update message is received.
* Staggered processing of routes which are pending best selection.
* Fix for multi-path test case.
Signed-off-by: Biswajit Sadhu <sadhub@vmware.com>
Diffstat (limited to 'bgpd/bgp_fsm.h')
| -rw-r--r-- | bgpd/bgp_fsm.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/bgpd/bgp_fsm.h b/bgpd/bgp_fsm.h index e690021338..ced4f292a5 100644 --- a/bgpd/bgp_fsm.h +++ b/bgpd/bgp_fsm.h @@ -94,6 +94,20 @@ UNSET_FLAG(peer->peer_gr_new_status_flag, \ PEER_GRACEFUL_RESTART_NEW_STATE_INHERIT) +#define BGP_PEER_GRACEFUL_RESTART_CAPABLE(peer) \ + (CHECK_FLAG(peer->cap, PEER_CAP_RESTART_ADV) && \ + CHECK_FLAG(peer->cap, PEER_CAP_RESTART_RCV)) + +#define BGP_PEER_RESTARTING_MODE(peer)\ + (CHECK_FLAG(peer->flags, PEER_FLAG_GRACEFUL_RESTART) && \ + CHECK_FLAG(peer->cap, PEER_CAP_RESTART_BIT_ADV) && \ + !CHECK_FLAG(peer->cap, PEER_CAP_RESTART_BIT_RCV)) + +#define BGP_PEER_HELPER_MODE(peer)\ + (CHECK_FLAG(peer->flags, PEER_FLAG_GRACEFUL_RESTART_HELPER) && \ + CHECK_FLAG(peer->cap, PEER_CAP_RESTART_BIT_RCV) && \ + !CHECK_FLAG(peer->cap, PEER_CAP_RESTART_BIT_ADV)) + /* Prototypes. */ extern void bgp_fsm_event_update(struct peer *peer, int valid); extern int bgp_event(struct thread *); |
