]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Move some error codes to bgp_vty_return handling
authorDonald Sharp <sharpd@nvidia.com>
Tue, 15 Feb 2022 21:04:50 +0000 (16:04 -0500)
committerDonald Sharp <sharpd@nvidia.com>
Tue, 15 Feb 2022 21:38:32 +0000 (16:38 -0500)
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>
bgpd/bgp_vty.c

index 9a1991cd09bf4c3410a87725d242b50e1abc7c55..6edf8a553a4f74929cddfb5904ac8fc25182144a 100644 (file)
@@ -877,6 +877,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);
@@ -4211,17 +4217,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);
 }
 
@@ -4958,13 +4953,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);
 }