]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/bgp_vty.c
Merge pull request #5396 from ton31337/fix/send_BGP_NOTIFY_CEASE_PEER_UNCONFIG_after_...
[mirror_frr.git] / bgpd / bgp_vty.c
index 3b15a9c7a27dadf5eebd575a75e9e274ab0fe4f0..2c0538d0a93abed0487255988cf6c07888e3d17e 100644 (file)
@@ -3152,14 +3152,16 @@ DEFUN (no_neighbor,
                         * interface. */
                        if (peer->ifp)
                                bgp_zebra_terminate_radv(peer->bgp, peer);
+                       peer_notify_unconfig(peer);
                        peer_delete(peer);
                        return CMD_SUCCESS;
                }
 
                group = peer_group_lookup(bgp, argv[idx_peer]->arg);
-               if (group)
+               if (group) {
+                       peer_group_notify_unconfig(group);
                        peer_group_delete(group);
-               else {
+               else {
                        vty_out(vty, "%% Create the peer-group first\n");
                        return CMD_WARNING_CONFIG_FAILED;
                }
@@ -3173,9 +3175,12 @@ DEFUN (no_neighbor,
                        }
 
                        other = peer->doppelganger;
+                       peer_notify_unconfig(peer);
                        peer_delete(peer);
-                       if (other && other->status != Deleted)
+                       if (other && other->status != Deleted) {
+                               peer_notify_unconfig(other);
                                peer_delete(other);
+                       }
                }
        }
 
@@ -3207,6 +3212,7 @@ DEFUN (no_neighbor_interface_config,
                /* Request zebra to terminate IPv6 RAs on this interface. */
                if (peer->ifp)
                        bgp_zebra_terminate_radv(peer->bgp, peer);
+               peer_notify_unconfig(peer);
                peer_delete(peer);
        } else {
                vty_out(vty, "%% Create the bgp interface first\n");
@@ -3228,9 +3234,10 @@ DEFUN (no_neighbor_peer_group,
        struct peer_group *group;
 
        group = peer_group_lookup(bgp, argv[idx_word]->arg);
-       if (group)
+       if (group) {
+               peer_group_notify_unconfig(group);
                peer_group_delete(group);
-       else {
+       else {
                vty_out(vty, "%% Create the peer-group first\n");
                return CMD_WARNING_CONFIG_FAILED;
        }
@@ -3588,6 +3595,7 @@ DEFUN (no_neighbor_set_peer_group,
                return CMD_WARNING_CONFIG_FAILED;
        }
 
+       peer_notify_unconfig(peer);
        ret = peer_delete(peer);
 
        return bgp_vty_return(vty, ret);