]> 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:35 +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 390af8497013a009b0c50b3dfb3258665209f331..d93ab1d252991e113d1a1a27c51a41cb40d7ee45 100644 (file)
@@ -2735,7 +2735,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;
@@ -2889,7 +2889,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;
@@ -2948,8 +2949,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(
@@ -2957,7 +2958,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) {
@@ -2989,10 +2990,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 {
@@ -3019,8 +3020,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 e3cfd0c8938f8131d42c12a2b67bb056b4f95580..dce47736724522fb5f1546bc42d95254be1307bd 100644 (file)
@@ -140,10 +140,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 73aa1f1e62a894c725c33e3a32ef8ad469916e8b..bed9f4b39544cdef587b407c0d078da627eb9f5d 100644 (file)
@@ -1017,7 +1017,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;