bgpd: Move some error codes to bgp_vty_return handling

BGP_ERR_PEER_GROUP_MEMBER and BGP_ERR_PEER_GROUP_PEER_TYPE_DIFFERENT
both are not handled by bgp_vty_return, but both can be handled by
this function as that there is nothing special going on here.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 6dcea6fe05)
This commit is contained in:
Donald Sharp 2022-02-15 16:04:50 -05:00 committed by mergify-bot
parent d37c84f28b
commit b462a0a7f6

View File

@ -879,6 +879,12 @@ int bgp_vty_return(struct vty *vty, int ret)
case BGP_ERR_GR_OPERATION_FAILED:
str = "The Graceful Restart Operation failed due to an err.";
break;
case BGP_ERR_PEER_GROUP_MEMBER:
str = "Peer-group member cannot override remote-as of peer-group.";
break;
case BGP_ERR_PEER_GROUP_PEER_TYPE_DIFFERENT:
str = "Peer-group members must be all internal or all external.";
break;
}
if (str) {
vty_out(vty, "%% %s\n", str);
@ -4213,17 +4219,6 @@ static int peer_remote_as_vty(struct vty *vty, const char *peer_str,
ret = peer_remote_as(bgp, &su, NULL, &as, as_type);
}
/* This peer belongs to peer group. */
switch (ret) {
case BGP_ERR_PEER_GROUP_MEMBER:
vty_out(vty,
"%% Peer-group member cannot override remote-as of peer-group\n");
return CMD_WARNING_CONFIG_FAILED;
case BGP_ERR_PEER_GROUP_PEER_TYPE_DIFFERENT:
vty_out(vty,
"%% Peer-group members must be all internal or all external\n");
return CMD_WARNING_CONFIG_FAILED;
}
return bgp_vty_return(vty, ret);
}
@ -4960,13 +4955,6 @@ DEFUN (neighbor_set_peer_group,
ret = peer_group_bind(bgp, &su, peer, group, &as);
if (ret == BGP_ERR_PEER_GROUP_PEER_TYPE_DIFFERENT) {
vty_out(vty,
"%% Peer with AS %u cannot be in this peer-group, members must be all internal or all external\n",
as);
return CMD_WARNING_CONFIG_FAILED;
}
return bgp_vty_return(vty, ret);
}