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. */
* 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);
+ }
}
}
/* 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");
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;
}
return CMD_WARNING_CONFIG_FAILED;
}
+ peer_notify_unconfig(peer);
ret = peer_delete(peer);
return bgp_vty_return(vty, ret);