mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-25 22:01:08 +00:00
Merge pull request #15217 from FRRouting/mergify/bp/stable/9.1/pr-15210
bgpd: Fix format overflow for graceful-restart debug logs (backport #15210)
This commit is contained in:
commit
684e21f62f
@ -2719,7 +2719,7 @@ int bgp_gr_lookup_n_update_all_peer(struct bgp *bgp,
|
|||||||
return BGP_GR_SUCCESS;
|
return BGP_GR_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bgp_gr_update_all(struct bgp *bgp, int global_gr_cmd)
|
int bgp_gr_update_all(struct bgp *bgp, enum global_gr_command global_gr_cmd)
|
||||||
{
|
{
|
||||||
enum global_mode global_new_state = GLOBAL_INVALID;
|
enum global_mode global_new_state = GLOBAL_INVALID;
|
||||||
enum global_mode global_old_state = GLOBAL_INVALID;
|
enum global_mode global_old_state = GLOBAL_INVALID;
|
||||||
@ -2873,7 +2873,8 @@ enum peer_mode bgp_peer_gr_mode_get(struct peer *peer)
|
|||||||
return peer->peer_gr_present_state;
|
return peer->peer_gr_present_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bgp_neighbor_graceful_restart(struct peer *peer, int peer_gr_cmd)
|
int bgp_neighbor_graceful_restart(struct peer *peer,
|
||||||
|
enum peer_gr_command peer_gr_cmd)
|
||||||
{
|
{
|
||||||
enum peer_mode peer_new_state = PEER_INVALID;
|
enum peer_mode peer_new_state = PEER_INVALID;
|
||||||
enum peer_mode peer_old_state = PEER_INVALID;
|
enum peer_mode peer_old_state = PEER_INVALID;
|
||||||
@ -2932,8 +2933,8 @@ int bgp_neighbor_graceful_restart(struct peer *peer, int peer_gr_cmd)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int bgp_peer_gr_action(struct peer *peer, int old_peer_state,
|
unsigned int bgp_peer_gr_action(struct peer *peer, enum peer_mode old_peer_state,
|
||||||
int new_peer_state)
|
enum peer_mode new_peer_state)
|
||||||
{
|
{
|
||||||
if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
|
if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
@ -2941,7 +2942,7 @@ unsigned int bgp_peer_gr_action(struct peer *peer, int old_peer_state,
|
|||||||
__func__, print_peer_gr_mode(old_peer_state),
|
__func__, print_peer_gr_mode(old_peer_state),
|
||||||
print_peer_gr_mode(new_peer_state));
|
print_peer_gr_mode(new_peer_state));
|
||||||
|
|
||||||
int bgp_gr_global_mode = GLOBAL_INVALID;
|
enum global_mode bgp_gr_global_mode = GLOBAL_INVALID;
|
||||||
unsigned int ret = BGP_GR_FAILURE;
|
unsigned int ret = BGP_GR_FAILURE;
|
||||||
|
|
||||||
if (old_peer_state == new_peer_state) {
|
if (old_peer_state == new_peer_state) {
|
||||||
@ -2973,10 +2974,10 @@ unsigned int bgp_peer_gr_action(struct peer *peer, int old_peer_state,
|
|||||||
|
|
||||||
BGP_PEER_GR_GLOBAL_INHERIT_UNSET(peer);
|
BGP_PEER_GR_GLOBAL_INHERIT_UNSET(peer);
|
||||||
|
|
||||||
if (new_peer_state == bgp_gr_global_mode) {
|
if ((int)new_peer_state == (int)bgp_gr_global_mode) {
|
||||||
/*This is incremental updates i.e no tear down
|
/* This is incremental updates i.e no tear down
|
||||||
*of the existing session
|
* of the existing session
|
||||||
*as the peer is already working in the same mode.
|
* as the peer is already working in the same mode.
|
||||||
*/
|
*/
|
||||||
ret = BGP_GR_SUCCESS;
|
ret = BGP_GR_SUCCESS;
|
||||||
} else {
|
} else {
|
||||||
@ -3003,8 +3004,7 @@ unsigned int bgp_peer_gr_action(struct peer *peer, int old_peer_state,
|
|||||||
|
|
||||||
BGP_PEER_GR_GLOBAL_INHERIT_SET(peer);
|
BGP_PEER_GR_GLOBAL_INHERIT_SET(peer);
|
||||||
|
|
||||||
if (old_peer_state == bgp_gr_global_mode) {
|
if ((int)old_peer_state == (int)bgp_gr_global_mode) {
|
||||||
|
|
||||||
/* This is incremental updates
|
/* This is incremental updates
|
||||||
*i.e no tear down of the existing session
|
*i.e no tear down of the existing session
|
||||||
*as the peer is already working in the same mode.
|
*as the peer is already working in the same mode.
|
||||||
|
@ -143,10 +143,11 @@ extern void bgp_adjust_routeadv(struct peer *);
|
|||||||
DECLARE_HOOK(peer_backward_transition, (struct peer *peer), (peer));
|
DECLARE_HOOK(peer_backward_transition, (struct peer *peer), (peer));
|
||||||
DECLARE_HOOK(peer_established, (struct peer *peer), (peer));
|
DECLARE_HOOK(peer_established, (struct peer *peer), (peer));
|
||||||
|
|
||||||
int bgp_gr_update_all(struct bgp *bgp, int global_gr_cmd);
|
int bgp_gr_update_all(struct bgp *bgp, enum global_gr_command global_gr_cmd);
|
||||||
int bgp_neighbor_graceful_restart(struct peer *peer, int peer_gr_cmd);
|
int bgp_neighbor_graceful_restart(struct peer *peer,
|
||||||
unsigned int bgp_peer_gr_action(struct peer *peer,
|
enum peer_gr_command peer_gr_cmd);
|
||||||
int old_peer_state, int new_peer_state);
|
unsigned int bgp_peer_gr_action(struct peer *peer, enum peer_mode old_peer_state,
|
||||||
|
enum peer_mode new_peer_state);
|
||||||
void bgp_peer_move_to_gr_mode(struct peer *peer, int new_state);
|
void bgp_peer_move_to_gr_mode(struct peer *peer, int new_state);
|
||||||
unsigned int bgp_peer_gr_helper_enable(struct peer *peer);
|
unsigned int bgp_peer_gr_helper_enable(struct peer *peer);
|
||||||
unsigned int bgp_peer_gr_enable(struct peer *peer);
|
unsigned int bgp_peer_gr_enable(struct peer *peer);
|
||||||
|
@ -1032,7 +1032,8 @@ enum peer_gr_command {
|
|||||||
NO_PEER_HELPER_CMD
|
NO_PEER_HELPER_CMD
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef unsigned int (*bgp_peer_gr_action_ptr)(struct peer *, int, int);
|
typedef unsigned int (*bgp_peer_gr_action_ptr)(struct peer *, enum peer_mode,
|
||||||
|
enum peer_mode);
|
||||||
|
|
||||||
struct bgp_peer_gr {
|
struct bgp_peer_gr {
|
||||||
enum peer_mode next_state;
|
enum peer_mode next_state;
|
||||||
|
Loading…
Reference in New Issue
Block a user