diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c index f4fbfe4c60..d66afa68c0 100644 --- a/bgpd/bgp_fsm.c +++ b/bgpd/bgp_fsm.c @@ -131,7 +131,7 @@ static struct peer *peer_xfer_conn(struct peer *from_peer) safi_t safi; int fd; int status, pstatus; - unsigned char last_evt, last_maj_evt; + enum bgp_fsm_events last_evt, last_maj_evt; assert(from_peer != NULL); @@ -2184,7 +2184,7 @@ static const struct { /* Execute event process. */ int bgp_event(struct thread *thread) { - int event; + enum bgp_fsm_events event; struct peer *peer; int ret; @@ -2196,7 +2196,7 @@ int bgp_event(struct thread *thread) return (ret); } -int bgp_event_update(struct peer *peer, int event) +int bgp_event_update(struct peer *peer, enum bgp_fsm_events event) { int next; int ret = 0; diff --git a/bgpd/bgp_fsm.h b/bgpd/bgp_fsm.h index 4b8db161d7..15d0b84e78 100644 --- a/bgpd/bgp_fsm.h +++ b/bgpd/bgp_fsm.h @@ -111,7 +111,7 @@ /* Prototypes. */ extern void bgp_fsm_event_update(struct peer *peer, int valid); extern int bgp_event(struct thread *); -extern int bgp_event_update(struct peer *, int event); +extern int bgp_event_update(struct peer *, enum bgp_fsm_events event); extern int bgp_stop(struct peer *peer); extern void bgp_timer_set(struct peer *); extern int bgp_routeadv_timer(struct thread *); diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h index 769ac32653..d075f3a7bb 100644 --- a/bgpd/bgpd.h +++ b/bgpd/bgpd.h @@ -838,6 +838,24 @@ struct bgp_peer_gr { bgp_peer_gr_action_ptr action_fun; }; +/* BGP finite state machine events. */ +enum bgp_fsm_events { + BGP_Start = 1, + BGP_Stop, + TCP_connection_open, + TCP_connection_closed, + TCP_connection_open_failed, + TCP_fatal_error, + ConnectRetry_timer_expired, + Hold_Timer_expired, + KeepAlive_timer_expired, + Receive_OPEN_message, + Receive_KEEPALIVE_message, + Receive_UPDATE_message, + Receive_NOTIFICATION_message, + Clearing_Completed, + BGP_EVENTS_MAX, +}; /* BGP neighbor structure. */ struct peer { @@ -902,9 +920,9 @@ struct peer { /* FSM events, stored for debug purposes. * Note: uchar used for reduced memory usage. */ - unsigned char cur_event; - unsigned char last_event; - unsigned char last_major_event; + enum bgp_fsm_events cur_event; + enum bgp_fsm_events last_event; + enum bgp_fsm_events last_major_event; /* Peer index, used for dumping TABLE_DUMP_V2 format */ uint16_t table_dump_index; @@ -1561,23 +1579,6 @@ struct bgp_nlri { #define Deleted 8 #define BGP_STATUS_MAX 9 -/* BGP finite state machine events. */ -#define BGP_Start 1 -#define BGP_Stop 2 -#define TCP_connection_open 3 -#define TCP_connection_closed 4 -#define TCP_connection_open_failed 5 -#define TCP_fatal_error 6 -#define ConnectRetry_timer_expired 7 -#define Hold_Timer_expired 8 -#define KeepAlive_timer_expired 9 -#define Receive_OPEN_message 10 -#define Receive_KEEPALIVE_message 11 -#define Receive_UPDATE_message 12 -#define Receive_NOTIFICATION_message 13 -#define Clearing_Completed 14 -#define BGP_EVENTS_MAX 15 - /* BGP timers default value. */ #define BGP_INIT_START_TIMER 1 /* The following 3 are RFC defaults that are overridden in bgp_vty.c with