]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: prompt should be given only for the real change 15731/head
authoranlan_cs <anlan_cs@tom.com>
Fri, 12 Apr 2024 14:56:41 +0000 (22:56 +0800)
committeranlan_cs <anlan_cs@tom.com>
Sat, 13 Apr 2024 01:35:37 +0000 (09:35 +0800)
Prompt nothing for an empty (and failed) operation.  Take
`bgp graceful-restart` as an example:

Before:
```
anlan(config-router)# bgp graceful-restart
Graceful restart configuration changed, reset all peers to take effect
anlan(config-router)# bgp graceful-restart
Graceful restart configuration changed, reset all peers to take effect
anlan(config-router)#
```

After:
```
anlan(config-router)# bgp graceful-restart
Graceful restart configuration changed, reset all peers to take effect
anlan(config-router)# bgp graceful-restart
anlan(config-router)#
```

Signed-off-by: anlan_cs <anlan_cs@tom.com>
bgpd/bgp_vty.c

index bcd029dcad5bbde0abb89777813c9603e87410ae..2a11cd7b55644a3d6bed78c0f3d8d711dd81a49b 100644 (file)
@@ -3035,14 +3035,17 @@ DEFUN (bgp_graceful_restart,
        VTY_DECLVAR_CONTEXT(bgp, bgp);
 
        ret = bgp_gr_update_all(bgp, GLOBAL_GR_CMD);
-
-       VTY_BGP_GR_ROUTER_DETECT_AND_SEND_CAPABILITY_TO_ZEBRA(bgp, bgp->peer,
-                                                             ret);
+       if (ret == BGP_GR_SUCCESS) {
+               VTY_BGP_GR_ROUTER_DETECT_AND_SEND_CAPABILITY_TO_ZEBRA(bgp,
+                                                                     bgp->peer,
+                                                                     ret);
+               vty_out(vty,
+                       "Graceful restart configuration changed, reset all peers to take effect\n");
+       }
 
        if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
                zlog_debug("[BGP_GR] bgp_graceful_restart_cmd : END ");
-       vty_out(vty,
-               "Graceful restart configuration changed, reset all peers to take effect\n");
+
        return bgp_vty_return(vty, ret);
 }
 
@@ -3062,14 +3065,16 @@ DEFUN (no_bgp_graceful_restart,
        int ret = BGP_GR_FAILURE;
 
        ret = bgp_gr_update_all(bgp, NO_GLOBAL_GR_CMD);
-
-       VTY_BGP_GR_ROUTER_DETECT_AND_SEND_CAPABILITY_TO_ZEBRA(bgp, bgp->peer,
-                                                             ret);
+       if (ret == BGP_GR_SUCCESS) {
+               VTY_BGP_GR_ROUTER_DETECT_AND_SEND_CAPABILITY_TO_ZEBRA(bgp,
+                                                                     bgp->peer,
+                                                                     ret);
+               vty_out(vty,
+                       "Graceful restart configuration changed, reset all peers to take effect\n");
+       }
 
        if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
                zlog_debug("[BGP_GR] no_bgp_graceful_restart_cmd : END ");
-       vty_out(vty,
-               "Graceful restart configuration changed, reset all peers to take effect\n");
 
        return bgp_vty_return(vty, ret);
 }
@@ -3277,24 +3282,25 @@ DEFUN (bgp_graceful_restart_disable,
        VTY_DECLVAR_CONTEXT(bgp, bgp);
 
        ret = bgp_gr_update_all(bgp, GLOBAL_DISABLE_CMD);
+       if (ret == BGP_GR_SUCCESS) {
+               VTY_BGP_GR_ROUTER_DETECT_AND_SEND_CAPABILITY_TO_ZEBRA(bgp,
+                                                                     bgp->peer,
+                                                                     ret);
+               vty_out(vty,
+                       "Graceful restart configuration changed, reset all peers to take effect\n");
 
-       VTY_BGP_GR_ROUTER_DETECT_AND_SEND_CAPABILITY_TO_ZEBRA(bgp,
-                               bgp->peer, ret);
+               for (ALL_LIST_ELEMENTS(bgp->peer, node, nnode, peer)) {
+                       bgp_capability_send(peer, AFI_IP, SAFI_UNICAST,
+                                           CAPABILITY_CODE_RESTART,
+                                           CAPABILITY_ACTION_UNSET);
+                       bgp_capability_send(peer, AFI_IP, SAFI_UNICAST,
+                                           CAPABILITY_CODE_LLGR,
+                                           CAPABILITY_ACTION_UNSET);
+               }
+       }
 
        if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
-               zlog_debug(
-                       "[BGP_GR] bgp_graceful_restart_disable_cmd : END ");
-       vty_out(vty,
-               "Graceful restart configuration changed, reset all peers to take effect\n");
-
-       for (ALL_LIST_ELEMENTS(bgp->peer, node, nnode, peer)) {
-               bgp_capability_send(peer, AFI_IP, SAFI_UNICAST,
-                                   CAPABILITY_CODE_RESTART,
-                                   CAPABILITY_ACTION_UNSET);
-               bgp_capability_send(peer, AFI_IP, SAFI_UNICAST,
-                                   CAPABILITY_CODE_LLGR,
-                                   CAPABILITY_ACTION_UNSET);
-       }
+               zlog_debug("[BGP_GR] bgp_graceful_restart_disable_cmd : END ");
 
        return bgp_vty_return(vty, ret);
 }
@@ -3316,15 +3322,17 @@ DEFUN (no_bgp_graceful_restart_disable,
        int ret = BGP_GR_FAILURE;
 
        ret = bgp_gr_update_all(bgp, NO_GLOBAL_DISABLE_CMD);
-
-       VTY_BGP_GR_ROUTER_DETECT_AND_SEND_CAPABILITY_TO_ZEBRA(bgp, bgp->peer,
-                                                             ret);
+       if (ret == BGP_GR_SUCCESS) {
+               VTY_BGP_GR_ROUTER_DETECT_AND_SEND_CAPABILITY_TO_ZEBRA(bgp,
+                                                                     bgp->peer,
+                                                                     ret);
+               vty_out(vty,
+                       "Graceful restart configuration changed, reset all peers to take effect\n");
+       }
 
        if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
                zlog_debug(
                        "[BGP_GR] no_bgp_graceful_restart_disable_cmd : END ");
-       vty_out(vty,
-               "Graceful restart configuration changed, reset all peers to take effect\n");
 
        return bgp_vty_return(vty, ret);
 }
@@ -3352,15 +3360,16 @@ DEFUN (bgp_neighbor_graceful_restart_set,
                return CMD_WARNING_CONFIG_FAILED;
 
        ret = bgp_neighbor_graceful_restart(peer, PEER_GR_CMD);
-
-       VTY_BGP_GR_ROUTER_DETECT(bgp, peer, peer->bgp->peer);
-       VTY_SEND_BGP_GR_CAPABILITY_TO_ZEBRA(peer->bgp, ret);
+       if (ret == BGP_GR_SUCCESS) {
+               VTY_BGP_GR_ROUTER_DETECT(bgp, peer, peer->bgp->peer);
+               VTY_SEND_BGP_GR_CAPABILITY_TO_ZEBRA(peer->bgp, ret);
+               vty_out(vty,
+                       "Graceful restart configuration changed, reset this peer to take effect\n");
+       }
 
        if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
                zlog_debug(
                        "[BGP_GR] bgp_neighbor_graceful_restart_set_cmd : END ");
-       vty_out(vty,
-               "Graceful restart configuration changed, reset this peer to take effect\n");
 
        return bgp_vty_return(vty, ret);
 }
@@ -3389,15 +3398,16 @@ DEFUN (no_bgp_neighbor_graceful_restart,
                        "[BGP_GR] no_bgp_neighbor_graceful_restart_set_cmd : START ");
 
        ret = bgp_neighbor_graceful_restart(peer, NO_PEER_GR_CMD);
-
-       VTY_BGP_GR_ROUTER_DETECT(bgp, peer, peer->bgp->peer);
-       VTY_SEND_BGP_GR_CAPABILITY_TO_ZEBRA(peer->bgp, ret);
+       if (ret == BGP_GR_SUCCESS) {
+               VTY_BGP_GR_ROUTER_DETECT(bgp, peer, peer->bgp->peer);
+               VTY_SEND_BGP_GR_CAPABILITY_TO_ZEBRA(peer->bgp, ret);
+               vty_out(vty,
+                       "Graceful restart configuration changed, reset this peer to take effect\n");
+       }
 
        if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
                zlog_debug(
                        "[BGP_GR] no_bgp_neighbor_graceful_restart_set_cmd : END ");
-       vty_out(vty,
-               "Graceful restart configuration changed, reset this peer to take effect\n");
 
        return bgp_vty_return(vty, ret);
 }
@@ -3427,15 +3437,16 @@ DEFUN (bgp_neighbor_graceful_restart_helper_set,
 
 
        ret = bgp_neighbor_graceful_restart(peer, PEER_HELPER_CMD);
-
-       VTY_BGP_GR_ROUTER_DETECT(bgp, peer, peer->bgp->peer);
-       VTY_SEND_BGP_GR_CAPABILITY_TO_ZEBRA(peer->bgp, ret);
+       if (ret == BGP_GR_SUCCESS) {
+               VTY_BGP_GR_ROUTER_DETECT(bgp, peer, peer->bgp->peer);
+               VTY_SEND_BGP_GR_CAPABILITY_TO_ZEBRA(peer->bgp, ret);
+               vty_out(vty,
+                       "Graceful restart configuration changed, reset this peer to take effect\n");
+       }
 
        if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
                zlog_debug(
                        "[BGP_GR] bgp_neighbor_graceful_restart_helper_set_cmd : END ");
-       vty_out(vty,
-               "Graceful restart configuration changed, reset this peer to take effect\n");
 
        return bgp_vty_return(vty, ret);
 }
@@ -3464,15 +3475,16 @@ DEFUN (no_bgp_neighbor_graceful_restart_helper,
                        "[BGP_GR] no_bgp_neighbor_graceful_restart_helper_set_cmd : START ");
 
        ret = bgp_neighbor_graceful_restart(peer, NO_PEER_HELPER_CMD);
-
-       VTY_BGP_GR_ROUTER_DETECT(bgp, peer, peer->bgp->peer);
-       VTY_SEND_BGP_GR_CAPABILITY_TO_ZEBRA(peer->bgp, ret);
+       if (ret == BGP_GR_SUCCESS) {
+               VTY_BGP_GR_ROUTER_DETECT(bgp, peer, peer->bgp->peer);
+               VTY_SEND_BGP_GR_CAPABILITY_TO_ZEBRA(peer->bgp, ret);
+               vty_out(vty,
+                       "Graceful restart configuration changed, reset this peer to take effect\n");
+       }
 
        if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
                zlog_debug(
                        "[BGP_GR] no_bgp_neighbor_graceful_restart_helper_set_cmd : END ");
-       vty_out(vty,
-               "Graceful restart configuration changed, reset this peer to take effect\n");
 
        return bgp_vty_return(vty, ret);
 }
@@ -3500,18 +3512,19 @@ DEFUN (bgp_neighbor_graceful_restart_disable_set,
                return CMD_WARNING_CONFIG_FAILED;
 
        ret = bgp_neighbor_graceful_restart(peer, PEER_DISABLE_CMD);
+       if (ret == BGP_GR_SUCCESS) {
+               if (peer->bgp->t_startup)
+                       bgp_peer_gr_flags_update(peer);
 
-       if (peer->bgp->t_startup)
-               bgp_peer_gr_flags_update(peer);
-
-       VTY_BGP_GR_ROUTER_DETECT(bgp, peer, peer->bgp->peer);
-       VTY_SEND_BGP_GR_CAPABILITY_TO_ZEBRA(peer->bgp, ret);
+               VTY_BGP_GR_ROUTER_DETECT(bgp, peer, peer->bgp->peer);
+               VTY_SEND_BGP_GR_CAPABILITY_TO_ZEBRA(peer->bgp, ret);
+               vty_out(vty,
+                       "Graceful restart configuration changed, reset this peer to take effect\n");
+       }
 
        if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
                zlog_debug(
                        "[BGP_GR]bgp_neighbor_graceful_restart_disable_set_cmd : END ");
-       vty_out(vty,
-               "Graceful restart configuration changed, reset this peer to take effect\n");
 
        return bgp_vty_return(vty, ret);
 }
@@ -3540,15 +3553,16 @@ DEFUN (no_bgp_neighbor_graceful_restart_disable,
                        "[BGP_GR] no_bgp_neighbor_graceful_restart_disable_set_cmd : START ");
 
        ret = bgp_neighbor_graceful_restart(peer, NO_PEER_DISABLE_CMD);
-
-       VTY_BGP_GR_ROUTER_DETECT(bgp, peer, peer->bgp->peer);
-       VTY_SEND_BGP_GR_CAPABILITY_TO_ZEBRA(peer->bgp, ret);
+       if (ret == BGP_GR_SUCCESS) {
+               VTY_BGP_GR_ROUTER_DETECT(bgp, peer, peer->bgp->peer);
+               VTY_SEND_BGP_GR_CAPABILITY_TO_ZEBRA(peer->bgp, ret);
+               vty_out(vty,
+                       "Graceful restart configuration changed, reset this peer to take effect\n");
+       }
 
        if (BGP_DEBUG(graceful_restart, GRACEFUL_RESTART))
                zlog_debug(
                        "[BGP_GR] no_bgp_neighbor_graceful_restart_disable_set_cmd : END ");
-       vty_out(vty,
-               "Graceful restart configuration changed, reset this peer to take effect\n");
 
        return bgp_vty_return(vty, ret);
 }