summaryrefslogtreecommitdiff
path: root/bgpd/bgp_fsm.h
diff options
context:
space:
mode:
authorbisdhdh <biswajit.sadhu@gmail.com>2019-10-23 23:44:51 +0530
committerbisdhdh <biswajit.sadhu@gmail.com>2020-01-23 09:34:25 +0530
commitf009ff2697355b2435a576bd2c129c502cc6ebb6 (patch)
tree7891afe21fc909d5a5ebf2aceb3ac424fda37421 /bgpd/bgp_fsm.h
parentcfd47646b35b07da30218597ed21d4ee7e5985ea (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.h14
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 *);