summaryrefslogtreecommitdiff
path: root/bgpd/bgp_fsm.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2024-11-06 08:24:28 -0500
committerDonald Sharp <sharpd@nvidia.com>2024-11-26 11:59:18 -0500
commiteacf923b00c019e9a877c9716e5d6506594d532e (patch)
tree6bd7e2a8b7b196c279e84ad36b409be39973bb36 /bgpd/bgp_fsm.c
parentba0edb9545038a8026813d5997a958cc6ed88765 (diff)
bgpd: Fix pattern of usage in bgp_notify_config_change
if (BGP_IS_VALID_STATE_FOR_NOTIF(peer->connection->status)) peer_notify_config_change(peer->connection); else bgp_session_reset_safe(peer, &nnode); Let's add a bool return to peer_notify_config_change of whether or not it should call the peer session reset. This simplifies the code a bunch. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'bgpd/bgp_fsm.c')
-rw-r--r--bgpd/bgp_fsm.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c
index 2cdbadc63c..6734c5e8dc 100644
--- a/bgpd/bgp_fsm.c
+++ b/bgpd/bgp_fsm.c
@@ -2745,9 +2745,7 @@ static void bgp_gr_update_mode_of_all_peers(struct bgp *bgp,
peer->last_reset = PEER_DOWN_CAPABILITY_CHANGE;
- if (BGP_IS_VALID_STATE_FOR_NOTIF(peer->connection->status))
- peer_notify_config_change(peer->connection);
- else
+ if (!peer_notify_config_change(peer->connection))
bgp_session_reset_safe(peer, &nnode);
} else {
group = peer->group;
@@ -2767,9 +2765,7 @@ static void bgp_gr_update_mode_of_all_peers(struct bgp *bgp,
member->last_reset = PEER_DOWN_CAPABILITY_CHANGE;
- if (BGP_IS_VALID_STATE_FOR_NOTIF(member->connection->status))
- peer_notify_config_change(member->connection);
- else
+ if (!peer_notify_config_change(member->connection))
bgp_session_reset(member);
}
}
@@ -2971,9 +2967,7 @@ unsigned int bgp_peer_gr_action(struct peer *peer, enum peer_mode old_state,
if (!CHECK_FLAG(peer->sflags, PEER_STATUS_GROUP)) {
peer->last_reset = PEER_DOWN_CAPABILITY_CHANGE;
- if (BGP_IS_VALID_STATE_FOR_NOTIF(peer->connection->status))
- peer_notify_config_change(peer->connection);
- else
+ if (!peer_notify_config_change(peer->connection))
bgp_session_reset(peer);
} else {
group = peer->group;
@@ -2981,9 +2975,7 @@ unsigned int bgp_peer_gr_action(struct peer *peer, enum peer_mode old_state,
member->last_reset = PEER_DOWN_CAPABILITY_CHANGE;
bgp_peer_move_to_gr_mode(member, new_state);
- if (BGP_IS_VALID_STATE_FOR_NOTIF(member->connection->status))
- peer_notify_config_change(member->connection);
- else
+ if (!peer_notify_config_change(member->connection))
bgp_session_reset(member);
}
}