mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 11:25:41 +00:00
bgpd: bgp_event_update switch to a switch
The return code from a event handling perspective is an enum. Let's intentionally make it a switch so that all cases are ensured to be covered now and in the future. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
parent
8dd97a7404
commit
d4a9b103b7
@ -2618,6 +2618,7 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
|
|||||||
struct peer *other;
|
struct peer *other;
|
||||||
int passive_conn = 0;
|
int passive_conn = 0;
|
||||||
int dyn_nbr;
|
int dyn_nbr;
|
||||||
|
struct peer_connection *connection = peer->connection;
|
||||||
|
|
||||||
other = peer->doppelganger;
|
other = peer->doppelganger;
|
||||||
passive_conn =
|
passive_conn =
|
||||||
@ -2643,7 +2644,9 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
|
|||||||
ret = (*(FSM[peer->connection->status - 1][event - 1].func))(
|
ret = (*(FSM[peer->connection->status - 1][event - 1].func))(
|
||||||
peer->connection);
|
peer->connection);
|
||||||
|
|
||||||
if (ret >= BGP_FSM_SUCCESS) {
|
switch (ret) {
|
||||||
|
case BGP_FSM_SUCCESS:
|
||||||
|
case BGP_FSM_SUCCESS_STATE_TRANSFER:
|
||||||
if (ret == BGP_FSM_SUCCESS_STATE_TRANSFER &&
|
if (ret == BGP_FSM_SUCCESS_STATE_TRANSFER &&
|
||||||
next == Established) {
|
next == Established) {
|
||||||
/* The case when doppelganger swap accurred in
|
/* The case when doppelganger swap accurred in
|
||||||
@ -2670,10 +2673,9 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
|
|||||||
|
|
||||||
/* Make sure timer is set. */
|
/* Make sure timer is set. */
|
||||||
bgp_timer_set(peer);
|
bgp_timer_set(peer);
|
||||||
|
break;
|
||||||
} else {
|
case BGP_FSM_FAILURE:
|
||||||
struct peer_connection *connection = peer->connection;
|
case BGP_FSM_FAILURE_AND_DELETE:
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If we got a return value of -1, that means there was an
|
* If we got a return value of -1, that means there was an
|
||||||
* error, restart the FSM. Since bgp_stop() was called on the
|
* error, restart the FSM. Since bgp_stop() was called on the
|
||||||
@ -2697,6 +2699,8 @@ int bgp_event_update(struct peer *peer, enum bgp_fsm_events event)
|
|||||||
bgp_timer_set(peer);
|
bgp_timer_set(peer);
|
||||||
}
|
}
|
||||||
fsm_result = FSM_PEER_STOPPED;
|
fsm_result = FSM_PEER_STOPPED;
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return fsm_result;
|
return fsm_result;
|
||||||
|
Loading…
Reference in New Issue
Block a user