bgpd: bgp_event_update mixes enum's with a non-enum

Straighten out the code to not mix the two.  Especially
since bgp was assigning non enum values to the enum.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
Donald Sharp 2023-08-25 10:03:14 -04:00
parent 420b8ed540
commit 8dd97a7404

View File

@ -2614,13 +2614,11 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
{ {
enum bgp_fsm_status next; enum bgp_fsm_status next;
enum bgp_fsm_state_progress ret = 0; enum bgp_fsm_state_progress ret = 0;
int fsm_result = FSM_PEER_NOOP;
struct peer *other; struct peer *other;
int passive_conn = 0; int passive_conn = 0;
int dyn_nbr; int dyn_nbr;
/* default return code */
ret = FSM_PEER_NOOP;
other = peer->doppelganger; other = peer->doppelganger;
passive_conn = passive_conn =
(CHECK_FLAG(peer->sflags, PEER_STATUS_ACCEPT_PEER)) ? 1 : 0; (CHECK_FLAG(peer->sflags, PEER_STATUS_ACCEPT_PEER)) ? 1 : 0;
@ -2651,7 +2649,7 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
/* The case when doppelganger swap accurred in /* The case when doppelganger swap accurred in
bgp_establish. bgp_establish.
Update the peer pointer accordingly */ Update the peer pointer accordingly */
ret = FSM_PEER_TRANSFERRED; fsm_result = FSM_PEER_TRANSFERRED;
peer = other; peer = other;
} }
@ -2666,8 +2664,8 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
* Opting for TRANSFERRED since transfer implies * Opting for TRANSFERRED since transfer implies
* session establishment. * session establishment.
*/ */
if (ret != FSM_PEER_TRANSFERRED) if (fsm_result != FSM_PEER_TRANSFERRED)
ret = FSM_PEER_TRANSITIONED; fsm_result = FSM_PEER_TRANSITIONED;
} }
/* Make sure timer is set. */ /* Make sure timer is set. */
@ -2698,10 +2696,10 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
bgp_fsm_change_status(peer, Idle); bgp_fsm_change_status(peer, Idle);
bgp_timer_set(peer); bgp_timer_set(peer);
} }
ret = FSM_PEER_STOPPED; fsm_result = FSM_PEER_STOPPED;
} }
return ret; return fsm_result;
} }
/* BGP GR Code */ /* BGP GR Code */