]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: Fix format overflow for graceful-restart debug logs 15219/head
authorDonatas Abraitis <donatas@opensourcerouting.org>
Wed, 24 Jan 2024 06:57:56 +0000 (08:57 +0200)
committerton31337 <3352707+ton31337@users.noreply.github.com>
Sat, 27 Jan 2024 13:28:21 +0000 (13:28 +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 44c56f802063dec3560683894ea0863c6aa92af2..100135341ca7f25d0319e2d3540c83c173760d47 100644 (file)
@@ -2736,7 +2736,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;
@@ -2890,7 +2890,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;
@@ -2949,8 +2950,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(
@@ -2958,7 +2959,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) {
@@ -2990,10 +2991,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 {
@@ -3020,8 +3021,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 a6e90612af03a1c7983f8d3d76598c4868a08b23..5c58188b7a2778cb500bb35c5a496b6d9e7394fe 100644 (file)
@@ -154,10 +154,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 51bb718a78f609c15b9ea5cd82976e3bea5b8499..2c35c2ad96636cd74b883d27384b3466c7e1de7a 100644 (file)
@@ -1010,7 +1010,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;