summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_vty.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
index 29649c5b24..b435543e39 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -3237,12 +3237,13 @@ DEFUN (neighbor_local_as,
{
struct peer *peer;
int ret;
-
+ as_t as;
peer = peer_and_group_lookup_vty (vty, argv[0]);
if (! peer)
return CMD_WARNING;
- ret = peer_local_as_set (peer, atoi (argv[1]), 0, 0);
+ VTY_GET_INTEGER_RANGE ("Local AS", as, argv[1], 1, BGP_AS4_MAX);
+ ret = peer_local_as_set (peer, as, 0, 0);
return bgp_vty_return (vty, ret);
}
@@ -3257,12 +3258,14 @@ DEFUN (neighbor_local_as_no_prepend,
{
struct peer *peer;
int ret;
+ as_t as;
peer = peer_and_group_lookup_vty (vty, argv[0]);
if (! peer)
return CMD_WARNING;
- ret = peer_local_as_set (peer, atoi (argv[1]), 1, 0);
+ VTY_GET_INTEGER_RANGE ("Local AS", as, argv[1], 1, BGP_AS4_MAX);
+ ret = peer_local_as_set (peer, as, 1, 0);
return bgp_vty_return (vty, ret);
}
@@ -3278,12 +3281,14 @@ DEFUN (neighbor_local_as_no_prepend_replace_as,
{
struct peer *peer;
int ret;
+ as_t as;
peer = peer_and_group_lookup_vty (vty, argv[0]);
if (! peer)
return CMD_WARNING;
- ret = peer_local_as_set (peer, atoi (argv[1]), 1, 1);
+ VTY_GET_INTEGER_RANGE ("Local AS", as, argv[1], 1, BGP_AS4_MAX);
+ ret = peer_local_as_set (peer, as, 1, 1);
return bgp_vty_return (vty, ret);
}