]> git.proxmox.com Git - mirror_frr.git/commitdiff
Merge pull request #5576 from ton31337/fix/no_bgp_listen_range_peer-group_7.1
authorRenato Westphal <renato@opensourcerouting.org>
Tue, 7 Jan 2020 03:05:11 +0000 (00:05 -0300)
committerGitHub <noreply@github.com>
Tue, 7 Jan 2020 03:05:11 +0000 (00:05 -0300)
bgpd: [7.1] Make sure we can use `no bgp listen range ...`

1  2 
bgpd/bgp_vty.c

diff --combined bgpd/bgp_vty.c
index 2c0538d0a93abed0487255988cf6c07888e3d17e,2ef8a4b0482279e67d46b8f3db90b78dea3d787d..708219936e2c4f3ba431c9f295ddafd75a63e42f
@@@ -2737,7 -2737,7 +2737,7 @@@ DEFUN (no_bgp_listen_range
        argv_find(argv, argc, "A.B.C.D/M", &idx);
        argv_find(argv, argc, "X:X::X:X/M", &idx);
        char *prefix = argv[idx]->arg;
-       argv_find(argv, argc, "WORD", &idx);
+       argv_find(argv, argc, "PGNAME", &idx);
        char *peergroup = argv[idx]->arg;
  
        /* Convert IP prefix string to struct prefix. */
@@@ -3152,16 -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;
                }
                        }
  
                        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);
 +                      }
                }
        }
  
@@@ -3212,7 -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");
@@@ -3234,10 -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;
        }
@@@ -3595,7 -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);