]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Fix format overflow for graceful-restart debug logs
authorDonatas Abraitis <donatas@opensourcerouting.org>
Wed, 24 Jan 2024 06:57:56 +0000 (08:57 +0200)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Wed, 24 Jan 2024 17:27:34 +0000 (17:27 +0000)
Use enum instead of int, and make the compiler happy when using -format-overflow.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 2c69b4b5162a015f411555e315c908580ba23ee7)

bgpd/bgp_fsm.c
bgpd/bgp_fsm.h
bgpd/bgpd.h

index 783f09e7f894991a60949466b3959a7f00033b25..953e028a796f3b600b5be278b305fbbcad201fa6 100644 (file)
@@ -2719,7 +2719,7 @@ int bgp_gr_lookup_n_update_all_peer(struct bgp *bgp,
        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_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;
 }
 
-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_old_state = PEER_INVALID;
@@ -2932,8 +2933,8 @@ int bgp_neighbor_graceful_restart(struct peer *peer, int peer_gr_cmd)
        return result;
 }
 
-unsigned int bgp_peer_gr_action(struct peer *peer, 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)
 {
        if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
                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),
                        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;
 
        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);
 
-               if (new_peer_state == bgp_gr_global_mode) {
-                       /*This is incremental updates i.e no tear down
-                        *of the existing session
-                        *as the peer is already working in the same mode.
+               if ((int)new_peer_state == (int)bgp_gr_global_mode) {
+                       /* This is incremental updates i.e no tear down
+                        * of the existing session
+                        * as the peer is already working in the same mode.
                         */
                        ret = BGP_GR_SUCCESS;
                } 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);
 
-               if (old_peer_state == bgp_gr_global_mode) {
-
+               if ((int)old_peer_state == (int)bgp_gr_global_mode) {
                        /* This is incremental updates
                         *i.e no tear down of the existing session
                         *as the peer is already working in the same mode.
index fd46b7994e3a3f38da60635655cd7b58f84bc8db..2e96ac4c106d5bb52a0d8a046f32e94d5d856293 100644 (file)
@@ -143,10 +143,11 @@ extern void bgp_adjust_routeadv(struct peer *);
 DECLARE_HOOK(peer_backward_transition, (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_neighbor_graceful_restart(struct peer *peer, int peer_gr_cmd);
-unsigned int bgp_peer_gr_action(struct peer *peer,
-               int old_peer_state, int new_peer_state);
+int bgp_gr_update_all(struct bgp *bgp, enum global_gr_command global_gr_cmd);
+int bgp_neighbor_graceful_restart(struct peer *peer,
+                                 enum peer_gr_command peer_gr_cmd);
+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);
 unsigned int bgp_peer_gr_helper_enable(struct peer *peer);
 unsigned int bgp_peer_gr_enable(struct peer *peer);
index ddd9c73e75582a85e050e5061c238da6014f2e60..dda108bcf60dd735a9b368d39eb77dfc703e8d5b 100644 (file)
@@ -1032,7 +1032,8 @@ enum peer_gr_command {
        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 {
        enum peer_mode next_state;