babel_interface_nfo *babel_ifp;
int interval;
- VTY_GET_INTEGER_RANGE("milliseconds", interval, argv[2]->arg, 20, 10 * 0xFFFE);
+ interval = strtoul(argv[2]->arg, NULL, 10);
babel_ifp = babel_get_if_nfo(ifp);
assert (babel_ifp != NULL);
babel_interface_nfo *babel_ifp;
int interval;
- VTY_GET_INTEGER_RANGE("milliseconds", interval, argv[2]->arg, 20, 10 * 0xFFFE);
+ interval = strtoul(argv[2]->arg, NULL, 10);
babel_ifp = babel_get_if_nfo(ifp);
assert (babel_ifp != NULL);
babel_interface_nfo *babel_ifp;
int rxcost;
- VTY_GET_INTEGER_RANGE("units", rxcost, argv[2]->arg, 1, 0x10000 - 1);
+ rxcost = strtoul(argv[2]->arg, NULL, 10);
babel_ifp = babel_get_if_nfo(ifp);
assert (babel_ifp != NULL);
babel_interface_nfo *babel_ifp;
int decay;
- VTY_GET_INTEGER_RANGE("units", decay, argv[2]->arg, 1, 256);
+ decay = strtoul(argv[2]->arg, NULL, 10);
babel_ifp = babel_get_if_nfo(ifp);
assert (babel_ifp != NULL);
babel_interface_nfo *babel_ifp;
int rtt;
- VTY_GET_INTEGER_RANGE("milliseconds", rtt, argv[2]->arg, 1, 65535);
+ rtt = strtoul(argv[2]->arg, NULL, 10);
babel_ifp = babel_get_if_nfo(ifp);
assert (babel_ifp != NULL);
babel_interface_nfo *babel_ifp;
int rtt;
- VTY_GET_INTEGER_RANGE("milliseconds", rtt, argv[2]->arg, 1, 65535);
+ rtt = strtoul(argv[2]->arg, NULL, 10);
babel_ifp = babel_get_if_nfo(ifp);
assert (babel_ifp != NULL);
babel_interface_nfo *babel_ifp;
int penalty;
- VTY_GET_INTEGER_RANGE("milliseconds", penalty, argv[2]->arg, 0, 65535);
+ penalty = strtoul(argv[2]->arg, NULL, 10);
babel_ifp = babel_get_if_nfo(ifp);
assert (babel_ifp != NULL);
babel_interface_nfo *babel_ifp;
int channel;
- VTY_GET_INTEGER_RANGE("channel", channel, argv[2]->arg, 1, 254);
+ channel = strtoul(argv[2]->arg, NULL, 10);
babel_ifp = babel_get_if_nfo(ifp);
assert (babel_ifp != NULL);
{
int factor;
- VTY_GET_INTEGER_RANGE("factor", factor, argv[2]->arg, 1, 256);
+ factor = strtoul(argv[2]->arg, NULL, 10);
diversity_factor = factor;
return CMD_SUCCESS;
{
int interval;
- VTY_GET_INTEGER_RANGE("milliseconds", interval, argv[2]->arg, 20, 10 * 0xFFFE);
+ interval = strtoul(argv[2]->arg, NULL, 10);
resend_delay = interval;
return CMD_SUCCESS;
{
int seconds;
- VTY_GET_INTEGER_RANGE("seconds", seconds, argv[2]->arg, 0, 0xFFFE);
+ seconds = strtoul(argv[2]->arg, NULL, 10);
change_smoothing_half_life(seconds);
return CMD_SUCCESS;
if (label_str)
{
unsigned long label_val;
- VTY_GET_INTEGER_RANGE("Label/tag", label_val, label_str, 0, 16777215);
+ label_val = strtoul(label_str, NULL, 10);
encode_label (label_val, tag);
}
else
if (label_str)
{
unsigned long label_val;
- VTY_GET_INTEGER_RANGE("Label/tag", label_val, label_str, 0, MPLS_LABEL_MAX);
+ label_val = strtoul(label_str, NULL, 10);
encode_label (label_val, tag);
}
else
{
u_int32_t label_index;
- VTY_GET_INTEGER ("label-index", label_index, argv[3]->arg);
+ label_index = strtoul(argv[3]->arg, NULL, 10);
return bgp_static_set (vty, argv[1]->arg,
AFI_IP, bgp_node_safi (vty), NULL, 0, label_index);
}
{
u_int32_t label_index;
- VTY_GET_INTEGER ("label-index", label_index, argv[3]->arg);
+ label_index = strtoul(argv[3]->arg, NULL, 10);
return bgp_static_set (vty, argv[1]->arg,
AFI_IP, bgp_node_safi (vty), argv[5]->arg, 0, label_index);
}
{
u_int32_t label_index;
- VTY_GET_INTEGER ("label-index", label_index, argv[3]->arg);
+ label_index = strtoul(argv[3]->arg, NULL, 10);
return bgp_static_set (vty, argv[1]->arg,
AFI_IP6, bgp_node_safi (vty), NULL, 0, label_index);
}
{
u_int32_t label_index;
- VTY_GET_INTEGER ("label-index", label_index, argv[3]->arg);
+ label_index = strtoul(argv[3]->arg, NULL, 10);
return bgp_static_set (vty, argv[1]->arg,
AFI_IP6, bgp_node_safi (vty), argv[5]->arg, 0, label_index);
}
as_t as;
int find = 0;
- VTY_GET_INTEGER_RANGE ("AS", as, arg, 1, BGP_AS4_MAX);
+ as = strtoul(arg, NULL, 10);
for (ALL_LIST_ELEMENTS (bgp->peer, node, nnode, peer))
{
// "router bgp X"
else
{
- VTY_GET_INTEGER_RANGE ("AS", as, argv[idx_asn]->arg, 1, BGP_AS4_MAX);
+ as = strtoul (argv[idx_asn]->arg, NULL, 10);
inst_type = BGP_INSTANCE_TYPE_DEFAULT;
if (argc > 3)
}
else
{
- VTY_GET_INTEGER_RANGE ("AS", as, argv[idx_asn]->arg, 1, BGP_AS4_MAX);
+ as = strtoul(argv[idx_asn]->arg, NULL, 10);
if (argc > 4)
name = argv[idx_vrf]->arg;
int idx_number = 3;
as_t as;
- VTY_GET_INTEGER_RANGE ("AS", as, argv[idx_number]->arg, 1, BGP_AS4_MAX);
+ as = strtoul(argv[idx_number]->arg, NULL, 10);
bgp_confederation_id_set (bgp, as);
for (i = idx_asn; i < argc; i++)
{
- VTY_GET_INTEGER_RANGE ("AS", as, argv[i]->arg, 1, BGP_AS4_MAX);
+ as = strtoul(argv[i]->arg, NULL, 10);
if (bgp->as == as)
{
for (i = idx_asn; i < argc; i++)
{
- VTY_GET_INTEGER_RANGE ("AS", as, argv[i]->arg, 1, BGP_AS4_MAX);
+ as = strtoul(argv[i]->arg, NULL, 10);
bgp_confederation_peers_remove (bgp, as);
}
u_int16_t update_delay;
u_int16_t establish_wait;
- VTY_GET_INTEGER_RANGE ("update-delay", update_delay, delay,
- BGP_UPDATE_DELAY_MIN, BGP_UPDATE_DELAY_MAX);
+ update_delay = strtoul(delay, NULL, 10);
if (!wait) /* update-delay <delay> */
{
VTY_DECLVAR_CONTEXT(bgp, bgp);
if (set)
- VTY_GET_INTEGER_RANGE ("write-quanta", bgp->wpkt_quanta, num,
- 1, 10000);
+ bgp->wpkt_quanta = strtoul(num, NULL, 10);
else
bgp->wpkt_quanta = BGP_WRITE_PACKET_MAX;
unsigned long keepalive = 0;
unsigned long holdtime = 0;
- VTY_GET_INTEGER ("keepalive", keepalive, argv[idx_number]->arg);
- VTY_GET_INTEGER ("holdtime", holdtime, argv[idx_number_2]->arg);
+ keepalive = strtoul(argv[idx_number]->arg, NULL, 10);
+ holdtime = strtoul(argv[idx_number_2]->arg, NULL, 10);
/* Holdtime value check. */
if (holdtime < 3 && holdtime != 0)
int idx_number = 3;
u_int32_t stalepath;
- VTY_GET_INTEGER_RANGE ("stalepath-time", stalepath, argv[idx_number]->arg, 1, 3600);
+ stalepath = strtoul(argv[idx_number]->arg, NULL, 10);
bgp->stalepath_time = stalepath;
return CMD_SUCCESS;
}
int idx_number = 3;
u_int32_t restart;
- VTY_GET_INTEGER_RANGE ("restart-time", restart, argv[idx_number]->arg, 1, 3600);
+ restart = strtoul(argv[idx_number]->arg, NULL, 10);
bgp->restart_time = restart;
return CMD_SUCCESS;
}
int idx_number = 3;
u_int32_t local_pref;
- VTY_GET_INTEGER ("local preference", local_pref, argv[idx_number]->arg);
+ local_pref = strtoul(argv[idx_number]->arg, NULL, 10);
bgp_default_local_preference_set (bgp, local_pref);
bgp_clear_star_soft_in (vty, bgp->name);
int idx_number = 3;
u_int32_t max_size;
- VTY_GET_INTEGER ("subgroup packet queue max", max_size, argv[idx_number]->arg);
+ max_size = strtoul(argv[idx_number]->arg, NULL, 10);
bgp_default_subgroup_pkt_queue_max_set (bgp, max_size);
int idx_number = 3;
int listen_limit;
- VTY_GET_INTEGER_RANGE ("listen limit", listen_limit, argv[idx_number]->arg,
- BGP_DYNAMIC_NEIGHBORS_LIMIT_MIN,
- BGP_DYNAMIC_NEIGHBORS_LIMIT_MAX);
+ listen_limit = strtoul(argv[idx_number]->arg, NULL, 10);
bgp_listen_limit_set (bgp, listen_limit);
argv_find (argv, argc, "WORD", &idx);
char *peergroup = argv[idx]->arg;
- // VTY_GET_IPV4_PREFIX ("listen range", range, argv[idx_ipv4_prefixlen]->arg);
-
/* Convert IP prefix string to struct prefix. */
ret = str2prefix (prefix, &range);
if (! ret)
else
{
/* Get AS number. */
- VTY_GET_INTEGER_RANGE ("AS", as, as_str, 1, BGP_AS4_MAX);
+ as = strtoul(as_str, NULL, 10);
}
/* If peer is peer group, call proper function. */
else
{
/* Get AS number. */
- VTY_GET_INTEGER_RANGE ("AS", as, as_str, 1, BGP_AS4_MAX);
+ as = strtoul(as_str, NULL, 10);
as_type = AS_SPECIFIED;
}
}
if (! peer)
return CMD_WARNING;
- VTY_GET_INTEGER_RANGE ("Local AS", as, argv[idx_number]->arg, 1, BGP_AS4_MAX);
+ as = strtoul(argv[idx_number]->arg, NULL, 10);
ret = peer_local_as_set (peer, as, 0, 0);
return bgp_vty_return (vty, ret);
}
if (! peer)
return CMD_WARNING;
- VTY_GET_INTEGER_RANGE ("Local AS", as, argv[idx_number]->arg, 1, BGP_AS4_MAX);
+ as = strtoul(argv[idx_number]->arg, NULL, 10);
ret = peer_local_as_set (peer, as, 1, 0);
return bgp_vty_return (vty, ret);
}
if (! peer)
return CMD_WARNING;
- VTY_GET_INTEGER_RANGE ("Local AS", as, argv[idx_number]->arg, 1, BGP_AS4_MAX);
+ as = strtoul(argv[idx_number]->arg, NULL, 10);
ret = peer_local_as_set (peer, as, 1, 1);
return bgp_vty_return (vty, ret);
}
if (! ttl_str)
ttl = MAXTTL;
else
- VTY_GET_INTEGER_RANGE ("TTL", ttl, ttl_str, 1, MAXTTL);
+ ttl = strtoul(ttl_str, NULL, 10);
return bgp_vty_return (vty, peer_ebgp_multihop_set (peer, ttl));
}
}
else
{
- VTY_GET_INTEGER("port", port, port_str);
+ port = strtoul(port_str, NULL, 10);
}
peer_port_set (peer, port);
if (! peer)
return CMD_WARNING;
- VTY_GET_INTEGER_RANGE("weight", weight, weight_str, 0, 65535);
+ weight = strtoul(weight_str, NULL, 10);
ret = peer_weight_set (peer, afi, safi, weight);
return bgp_vty_return (vty, ret);
if (! peer)
return CMD_WARNING;
- VTY_GET_INTEGER_RANGE ("Keepalive", keepalive, keep_str, 0, 65535);
- VTY_GET_INTEGER_RANGE ("Holdtime", holdtime, hold_str, 0, 65535);
+ keepalive = strtoul(keep_str, NULL, 10);
+ holdtime = strtoul(hold_str, NULL, 10);
ret = peer_timers_set (peer, keepalive, holdtime);
if (! peer)
return CMD_WARNING;
- VTY_GET_INTEGER_RANGE ("Connect time", connect, time_str, 0, 65535);
+ connect = strtoul(time_str, NULL, 10);
ret = peer_timers_connect_set (peer, connect);
return CMD_WARNING;
if (time_str)
- VTY_GET_INTEGER_RANGE ("advertise interval", routeadv, time_str, 0, 600);
+ routeadv = strtoul(time_str, NULL, 10);
if (set)
ret = peer_advertise_interval_set (peer, routeadv);
if (argv[idx_number]->arg)
{
- VTY_GET_INTEGER_RANGE ("delay-timer", rmap_delay_timer, argv[idx_number]->arg, 0, 600);
+ rmap_delay_timer = strtoul(argv[idx_number]->arg, NULL, 10);
bm->rmap_update_timer = rmap_delay_timer;
/* if the dynamic update handling is being disabled, and a timer is
if (! peer)
return CMD_WARNING;
- VTY_GET_INTEGER ("maximum number", max, num_str);
+ max = strtoul(num_str, NULL, 10);
if (threshold_str)
threshold = atoi (threshold_str);
else
if (! peer)
return CMD_WARNING;
- VTY_GET_INTEGER_RANGE ("", gtsm_hops, argv[idx_number]->arg, 1, 254);
+ gtsm_hops = strtoul(argv[idx_number]->arg, NULL, 10);
/*
* If 'neighbor swpX', then this is for directly connected peers,
/* get subgroup id, if provided */
idx = argc - 1;
if (argv[idx]->type == VARIABLE_TKN)
- VTY_GET_ULL("subgroup-id", subgrp_id, argv[idx]->arg);
+ subgrp_id = strtoull(argv[idx]->arg, NULL, 10);
return (bgp_show_update_groups(vty, vrf, afi, safi, subgrp_id));
}
int idx_type = 5;
uint64_t subgrp_id;
- VTY_GET_ULL("subgroup-id", subgrp_id, argv[idx_subgroup_id]->arg);
+ subgrp_id = strtoull(argv[idx_subgroup_id]->arg, NULL, 10);
show_bgp_updgrps_adj_info_aux(vty, NULL, AFI_IP, SAFI_UNICAST, argv[idx_type]->arg, subgrp_id);
return CMD_SUCCESS;
int idx_type = 7;
uint64_t subgrp_id;
- VTY_GET_ULL("subgroup-id", subgrp_id, argv[idx_subgroup_id]->arg);
+ subgrp_id = strtoull(argv[idx_subgroup_id]->arg, NULL, 10);
show_bgp_updgrps_adj_info_aux(vty, argv[idx_vrf]->arg, AFI_IP, SAFI_UNICAST, argv[idx_type]->arg, subgrp_id);
return CMD_SUCCESS;
int idx_type = 6;
uint64_t subgrp_id;
- VTY_GET_ULL("subgroup-id", subgrp_id, argv[idx_subgroup_id]->arg);
+ subgrp_id = strtoull(argv[idx_subgroup_id]->arg, NULL, 10);
show_bgp_updgrps_adj_info_aux(vty, NULL,
bgp_vty_afi_from_arg(argv[idx_afi]->arg),
int idx_type = 4;
uint64_t subgrp_id;
- VTY_GET_ULL("subgroup-id", subgrp_id, argv[idx_subgroup_id]->arg);
+ subgrp_id = strtoull(argv[idx_subgroup_id]->arg, NULL, 10);
show_bgp_updgrps_adj_info_aux(vty, NULL, AFI_IP6, SAFI_UNICAST, argv[idx_type]->arg, subgrp_id);
return CMD_SUCCESS;
int idx_type = 6;
uint64_t subgrp_id;
- VTY_GET_ULL("subgroup-id", subgrp_id, argv[idx_subgroup_id]->arg);
+ subgrp_id = strtoull(argv[idx_subgroup_id]->arg, NULL, 10);
show_bgp_updgrps_adj_info_aux(vty, argv[idx_vrf]->arg, AFI_IP6, SAFI_UNICAST, argv[idx_type]->arg, subgrp_id);
return CMD_SUCCESS;
vty_out (vty, "%% Invalid route type%s", VTY_NEWLINE);
return CMD_WARNING;
}
- VTY_GET_INTEGER ("metric", metric, argv[idx_number]->arg);
+ metric = strtoul(argv[idx_number]->arg, NULL, 10);
red = bgp_redist_add(bgp, AFI_IP, type, 0);
bgp_redistribute_metric_set(bgp, red, AFI_IP, type, metric);
vty_out (vty, "%% Invalid route type%s", VTY_NEWLINE);
return CMD_WARNING;
}
- VTY_GET_INTEGER ("metric", metric, argv[idx_number]->arg);
+ metric = strtoul(argv[idx_number]->arg, NULL, 10);
red = bgp_redist_add(bgp, AFI_IP, type, 0);
bgp_redistribute_rmap_set (red, argv[idx_word]->arg);
vty_out (vty, "%% Invalid route type%s", VTY_NEWLINE);
return CMD_WARNING;
}
- VTY_GET_INTEGER ("metric", metric, argv[idx_number]->arg);
+ metric = strtoul(argv[idx_number]->arg, NULL, 10);
red = bgp_redist_add(bgp, AFI_IP, type, 0);
bgp_redistribute_metric_set(bgp, red, AFI_IP, type, metric);
u_short instance;
u_short protocol;
- VTY_GET_INTEGER ("Instance ID", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (strncmp(argv[idx_ospf_table]->arg, "o", 1) == 0)
protocol = ZEBRA_ROUTE_OSPF;
else
protocol = ZEBRA_ROUTE_TABLE;
- VTY_GET_INTEGER ("Instance ID", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
red = bgp_redist_add(bgp, AFI_IP, protocol, instance);
bgp_redistribute_rmap_set (red, argv[idx_word]->arg);
return bgp_redistribute_set (bgp, AFI_IP, protocol, instance);
else
protocol = ZEBRA_ROUTE_TABLE;
- VTY_GET_INTEGER ("Instance ID", instance, argv[idx_number]->arg);
- VTY_GET_INTEGER ("metric", metric, argv[idx_number_2]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
+ metric = strtoul(argv[idx_number_2]->arg, NULL, 10);
red = bgp_redist_add(bgp, AFI_IP, protocol, instance);
bgp_redistribute_metric_set(bgp, red, AFI_IP, protocol, metric);
else
protocol = ZEBRA_ROUTE_TABLE;
- VTY_GET_INTEGER ("Instance ID", instance, argv[idx_number]->arg);
- VTY_GET_INTEGER ("metric", metric, argv[idx_number_2]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
+ metric = strtoul(argv[idx_number_2]->arg, NULL, 10);
red = bgp_redist_add(bgp, AFI_IP, protocol, instance);
bgp_redistribute_rmap_set (red, argv[idx_word]->arg);
else
protocol = ZEBRA_ROUTE_TABLE;
- VTY_GET_INTEGER ("Instance ID", instance, argv[idx_number]->arg);
- VTY_GET_INTEGER ("metric", metric, argv[idx_number_2]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
+ metric = strtoul(argv[idx_number_2]->arg, NULL, 10);
red = bgp_redist_add(bgp, AFI_IP, protocol, instance);
bgp_redistribute_metric_set(bgp, red, AFI_IP, protocol, metric);
else
protocol = ZEBRA_ROUTE_TABLE;
- VTY_GET_INTEGER ("Instance ID", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
return bgp_redistribute_unset (bgp, AFI_IP, protocol, instance);
}
vty_out (vty, "%% Invalid route type%s", VTY_NEWLINE);
return CMD_WARNING;
}
- VTY_GET_INTEGER ("metric", metric, argv[idx_number]->arg);
+ metric = strtoul(argv[idx_number]->arg, NULL, 10);
red = bgp_redist_add(bgp, AFI_IP6, type, 0);
bgp_redistribute_metric_set(bgp, red, AFI_IP6, type, metric);
vty_out (vty, "%% Invalid route type%s", VTY_NEWLINE);
return CMD_WARNING;
}
- VTY_GET_INTEGER ("metric", metric, argv[idx_number]->arg);
+ metric = strtoul(argv[idx_number]->arg, NULL, 10);
red = bgp_redist_add(bgp, AFI_IP6, type, 0);
bgp_redistribute_rmap_set (red, argv[idx_word]->arg);
vty_out (vty, "%% Invalid route type%s", VTY_NEWLINE);
return CMD_WARNING;
}
- VTY_GET_INTEGER ("metric", metric, argv[idx_number]->arg);
+ metric = strtoul(argv[idx_number]->arg, NULL, 10);
red = bgp_redist_add(bgp, AFI_IP6, type, 0);
bgp_redistribute_metric_set(bgp, red, AFI_IP6, SAFI_UNICAST, metric);
}
else
{
- VTY_GET_INTEGER ("Response Lifetime", rspint, argv[1]->arg);
+ rspint = strtoul(argv[1]->arg, NULL, 10);
if (rspint > INT32_MAX)
rspint = INT32_MAX; /* is really an int, not an unsigned int */
}
}
else
{
- VTY_GET_INTEGER ("Response Lifetime", bgp->rfapi_cfg->redist_lifetime,
- argv[3]->arg);
+ bgp->rfapi_cfg->redist_lifetime = strtoul(argv[3]->arg, NULL, 10);
}
vnc_redistribute_postchange (bgp);
}
else
{
- VTY_GET_INTEGER ("Response Lifetime", rspint, argv[1]->arg);
+ rspint = strtoul(argv[1]->arg, NULL, 10);
}
rfg->response_lifetime = rspint;
return CMD_WARNING;
}
- VTY_GET_INTEGER_RANGE ("Label value", label, argv[1]->arg, 0, MPLS_LABEL_MAX);
+ label = strtoul(argv[1]->arg, NULL, 10);
if (bgp->rfapi_cfg->rfg_redist == rfg)
{
return CMD_WARNING;
}
- VTY_GET_INTEGER ("logical-network-id", rfg->logical_net_id, argv[1]->arg);
+ rfg->logical_net_id = strtoul(argv[1]->arg, NULL, 10);
return CMD_SUCCESS;
}
for (; argc; --argc, ++argv)
{
uint32_t label;
- VTY_GET_INTEGER_RANGE ("Label value", label, argv[0]->arg, 0, MPLS_LABEL_MAX);
+ label = strtoul(argv[0]->arg, NULL, 10);
if (!listnode_lookup (ll, (void *) (uintptr_t) label))
listnode_add (ll, (void *) (uintptr_t) label);
}
for (; argc; --argc, ++argv)
{
uint32_t label;
- VTY_GET_INTEGER_RANGE ("Label value", label, argv[0]->arg, 0, MPLS_LABEL_MAX);
+ label = strtoul(argv[0]->arg, NULL, 10);
listnode_delete (ll, (void *) (uintptr_t) label);
}
}
else
{
- VTY_GET_INTEGER ("Lifetime", lifetime, argv[10]->arg);
+ lifetime = strtoul(argv[10]->arg, NULL, 10);
}
}
else
{
- VTY_GET_INTEGER ("Lifetime", lifetime, argv[10]->arg);
+ lifetime = strtoul(argv[10]->arg, NULL, 10);
}
/* L2 option parsing START */
memset (optary, 0, sizeof (optary));
- VTY_GET_INTEGER ("Logical Network ID",
- optary[opt_next].v.l2addr.logical_net_id, argv[14]->arg);
+ optary[opt_next].v.l2addr.logical_net_id = strtoul(argv[14]->arg, NULL, 10);
if ((rc = rfapiStr2EthAddr (argv[12]->arg, &optary[opt_next].v.l2addr.macaddr)))
{
vty_out (vty, "Bad mac address \"%s\"%s", argv[12]->arg, VTY_NEWLINE);
return CMD_WARNING;
}
- VTY_GET_INTEGER ("Logical Network ID", l2o_buf.logical_net_id, argv[8]->arg);
+ l2o_buf.logical_net_id = strtoul(argv[8]->arg, NULL, 10);
/* construct option chain */
VTY_NEWLINE);
return CMD_WARNING;
}
- VTY_GET_INTEGER ("Logical Network ID",
- optary[opt_next].v.l2addr.logical_net_id,
- arg_vni);
+ optary[opt_next].v.l2addr.logical_net_id = strtoul(arg_vni, NULL,
+ 10);
if ((rc = rfapiStr2EthAddr (arg_macaddr,
&optary[opt_next].v.l2addr.macaddr)))
}
if (strcmp (arg_vni, "*"))
{
- VTY_GET_INTEGER ("Logical Network ID",
- rcdarg->l2o.o.logical_net_id, arg_vni);
+ rcdarg->l2o.o.logical_net_id = strtoul(arg_vni, NULL, 10);
rcdarg->l2o.flags |= RFAPI_L2O_LNI;
}
}
if (arg_label)
{
int32_t label;
- VTY_GET_INTEGER_RANGE ("Label value", label, arg_label, 0, MPLS_LABEL_MAX);
+ label = strtoul(arg_label, NULL, 10);
l2o->label = label;
}
else
rfi = rfapi_get_rfp_start_val (VTY_GET_CONTEXT (bgp)); /* BGP_NODE */
assert (rfi != NULL);
- VTY_GET_INTEGER ("Example value", value, argv[2]->arg);
+ value = strtoul(argv[2]->arg, NULL, 10);
if (rfi)
rfi->config_var = value;
return CMD_SUCCESS;
struct prefix_ipv4 p;
int ret;
- VTY_GET_IPV4_PREFIX ("network prefix", p, argv[1]->arg);
+ str2prefix_ipv4(argv[1]->arg, &p);
ret = eigrp_network_set (eigrp, &p);
struct prefix_ipv4 p;
int ret;
- VTY_GET_IPV4_PREFIX ("network prefix", p, argv[2]->arg);
+ str2prefix_ipv4(argv[2]->arg, &p);
ret = eigrp_network_unset (eigrp, &p);
struct eigrp_neighbor *nbr;
struct in_addr nbr_addr;
- VTY_GET_IPV4_ADDRESS ("neighbor address", nbr_addr, argv[4]->arg);
+ inet_aton(argv[4]->arg, &nbr_addr);
/* Check if eigrp process is enabled */
eigrp = eigrp_lookup ();
struct eigrp_neighbor *nbr;
struct in_addr nbr_addr;
- VTY_GET_IPV4_ADDRESS ("neighbor address", nbr_addr, argv[4]->arg);
+ inet_aton(argv[4]->arg, &nbr_addr);
/* Check if eigrp process is enabled */
eigrp = eigrp_lookup ();
int idx_number = 1;
unsigned int lsp_mtu;
- VTY_GET_INTEGER_RANGE("lsp-mtu", lsp_mtu, argv[idx_number]->arg, 128, 4352);
+ lsp_mtu = strtoul(argv[idx_number]->arg, NULL, 10);
return area_lsp_mtu_set(vty, lsp_mtu);
}
const char *tx_str, u_int8_t *dm_val, u_int32_t *rx_val,
u_int32_t *tx_val)
{
- VTY_GET_INTEGER_RANGE ("detect-mul", *dm_val, dm_str,
- BFD_MIN_DETECT_MULT, BFD_MAX_DETECT_MULT);
- VTY_GET_INTEGER_RANGE ("min-rx", *rx_val, rx_str,
- BFD_MIN_MIN_RX, BFD_MAX_MIN_RX);
- VTY_GET_INTEGER_RANGE ("min-tx", *tx_val, tx_str,
- BFD_MIN_MIN_TX, BFD_MAX_MIN_TX);
+ *dm_val = strtoul(dm_str, NULL, 10);
+ *rx_val = strtoul(rx_str, NULL, 10);
+ *tx_val = strtoul(tx_str, NULL, 10);
return CMD_SUCCESS;
}
"Number of subsecond digits\n")
{
int idx_number = 3;
- VTY_GET_INTEGER_RANGE("Timestamp Precision",
- zlog_default->timestamp_precision, argv[idx_number]->arg, 0, 6);
+ zlog_default->timestamp_precision = strtoul(argv[idx_number]->arg, NULL, 10);
return CMD_SUCCESS;
}
struct key *key;
u_int32_t index;
- VTY_GET_INTEGER ("key identifier", index, argv[idx_number]->arg);
+ index = strtoul (argv[idx_number]->arg, NULL, 10);
key = key_get (keychain, index);
VTY_PUSH_CONTEXT_SUB (KEYCHAIN_KEY_NODE, key);
struct key *key;
u_int32_t index;
- VTY_GET_INTEGER ("key identifier", index, argv[idx_number]->arg);
+ index = strtoul(argv[idx_number]->arg, NULL, 10);
key = key_lookup (keychain, index);
if (! key)
{
}
krange->start = time_start;
- VTY_GET_INTEGER ("duration", duration, duration_str);
+ duration = strtoul(duration_str, NULL, 10);
krange->duration = 1;
krange->end = time_start + duration;
if (!pathname)
return CMD_WARNING;
- VTY_GET_INTEGER ("NS ID", ns_id, argv[idx_number]->arg);
+ ns_id = strtoul (argv[idx_number]->arg, NULL, 10);
ns = ns_get (ns_id);
if (ns->name && strcmp (ns->name, pathname) != 0)
if (!pathname)
return CMD_WARNING;
- VTY_GET_INTEGER ("NS ID", ns_id, argv[idx_number]->arg);
+ ns_id = strtoul(argv[idx_number]->arg, NULL, 10);
ns = ns_lookup (ns_id);
if (!ns)
}
if (num)
- VTY_GET_INTEGER_RANGE("route-map index", d, num, 1, 65535);
+ d = strtoul(num, NULL, 10);
else
d = index->pref + 1;
#define PRINTF_ATTRIBUTE(a,b)
#endif /* __GNUC__ */
-/* Utility macros to convert VTY argument to unsigned long */
-#define VTY_GET_ULONG(NAME,V,STR) \
-do { \
- char *endptr = NULL; \
- errno = 0; \
- (V) = strtoul ((STR), &endptr, 10); \
- if (*(STR) == '-') \
- { \
- vty_out (vty, "%% Invalid %s value (dash)%s", NAME, VTY_NEWLINE); \
- return CMD_WARNING; \
- } \
- if (*endptr != '\0') \
- { \
- vty_out (vty, "%% Invalid %s value (%s)%s", NAME, endptr, VTY_NEWLINE); \
- return CMD_WARNING; \
- } \
- if (errno) \
- { \
- vty_out (vty, "%% Invalid %s value (error %d)%s", NAME, errno, VTY_NEWLINE); \
- return CMD_WARNING; \
- } \
-} while (0)
-
-/* Utility macros to convert VTY argument to unsigned long long */
-#define VTY_GET_ULL(NAME,V,STR) \
-do { \
- char *endptr = NULL; \
- errno = 0; \
- (V) = strtoull ((STR), &endptr, 10); \
- if (*(STR) == '-') \
- { \
- vty_out (vty, "%% Invalid %s value (dash)%s", NAME, VTY_NEWLINE); \
- return CMD_WARNING; \
- } \
- if (*endptr != '\0') \
- { \
- vty_out (vty, "%% Invalid %s value (%s)%s", NAME, endptr, VTY_NEWLINE); \
- return CMD_WARNING; \
- } \
- if (errno) \
- { \
- vty_out (vty, "%% Invalid %s value (error %d)%s", NAME, errno, VTY_NEWLINE); \
- return CMD_WARNING; \
- } \
-} while (0)
-
-/*
- * The logic below ((TMPL) <= ((MIN) && (TMPL) != (MIN)) is
- * done to circumvent the compiler complaining about
- * comparing unsigned numbers against zero, if MIN is zero.
- * NB: The compiler isn't smart enough to supress the warning
- * if you write (MIN) != 0 && tmpl < (MIN).
- */
-#define VTY_GET_INTEGER_RANGE_HEART(NAME,TMPL,STR,MIN,MAX) \
-do { \
- VTY_GET_ULONG(NAME, (TMPL), STR); \
- if ( ((TMPL) <= (MIN) && (TMPL) != (MIN)) || (TMPL) > (MAX) ) \
- { \
- vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE);\
- return CMD_WARNING; \
- } \
-} while (0)
-
-#define VTY_GET_INTEGER_RANGE(NAME,V,STR,MIN,MAX) \
-do { \
- unsigned long long tmpl; \
- VTY_GET_INTEGER_RANGE_HEART(NAME,tmpl,STR,MIN,MAX); \
- (V) = tmpl; \
-} while (0)
-
-#define VTY_CHECK_INTEGER_RANGE(NAME,STR,MIN,MAX) \
-do { \
- unsigned long tmpl; \
- VTY_GET_INTEGER_RANGE_HEART(NAME,tmpl,STR,MIN,MAX); \
-} while (0)
-
-#define VTY_GET_INTEGER(NAME,V,STR) \
- VTY_GET_INTEGER_RANGE(NAME,V,STR,0U,UINT32_MAX)
-
-#define VTY_GET_IPV4_ADDRESS(NAME,V,STR) \
-do { \
- int retv; \
- retv = inet_aton ((STR), &(V)); \
- if (!retv) \
- { \
- vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE); \
- return CMD_WARNING; \
- } \
-} while (0)
-
-#define VTY_GET_IPV4_PREFIX(NAME,V,STR) \
-do { \
- int retv; \
- retv = str2prefix_ipv4 ((STR), &(V)); \
- if (retv <= 0) \
- { \
- vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE); \
- return CMD_WARNING; \
- } \
-} while (0)
-
-#define VTY_WARN_EXPERIMENTAL() \
-do { \
- vty_out (vty, "%% WARNING: this command is experimental. Both its name and" \
- " parameters may%s%% change in a future version of Quagga," \
- " possibly breaking your configuration!%s", \
- VTY_NEWLINE, VTY_NEWLINE); \
-} while (0)
-
/* Exported variables */
extern char integrate_default[];
{
uint32_t nfgroup;
- VTY_GET_INTEGER_RANGE("nflog-group", nfgroup, argv[2]->arg, 1, 65535);
+ nfgroup = strtoul(argv[2]->arg, NULL, 10);
netlink_set_nflog_group(nfgroup);
return CMD_SUCCESS;
struct nhrp_interface *nifp = ifp->info;
afi_t afi = cmd_to_afi(argv[0]);
- VTY_GET_INTEGER_RANGE("network-id", nifp->afi[afi].network_id, argv[3]->arg, 1, 4294967295);
+ nifp->afi[afi].network_id = strtoul(argv[3]->arg, NULL, 10);
nhrp_interface_update(ifp);
return CMD_SUCCESS;
struct nhrp_interface *nifp = ifp->info;
afi_t afi = cmd_to_afi(argv[0]);
- VTY_GET_INTEGER_RANGE("holdtime", nifp->afi[afi].holdtime, argv[3]->arg, 1, 65000);
+ nifp->afi[afi].holdtime = strtoul(argv[3]->arg, NULL, 10);
nhrp_interface_update(ifp);
return CMD_SUCCESS;
if (argv[3]->arg[0] == 'o') {
nifp->afi[AFI_IP].configured_mtu = -1;
} else {
- VTY_GET_INTEGER_RANGE("mtu", nifp->afi[AFI_IP].configured_mtu, argv[3]->arg, 576, 1500);
+ nifp->afi[AFI_IP].configured_mtu = strtoul(argv[3]->arg, NULL,
+ 10);
}
nhrp_interface_update_mtu(ifp, AFI_IP);
}
else
{
- VTY_GET_INTEGER_RANGE ("cost", cost, argv[5]->arg, 0, OSPF_LS_INFINITY);
+ cost = strtoul(argv[5]->arg, NULL, 10);
UNSET_FLAG (range->flag, OSPF6_ROUTE_DO_NOT_ADVERTISE);
}
}
int idx_number_3 = 5;
unsigned int delay, hold, max;
- VTY_GET_INTEGER_RANGE ("SPF delay timer", delay, argv[idx_number]->arg, 0, 600000);
- VTY_GET_INTEGER_RANGE ("SPF hold timer", hold, argv[idx_number_2]->arg, 0, 600000);
- VTY_GET_INTEGER_RANGE ("SPF max-hold timer", max, argv[idx_number_3]->arg, 0, 600000);
+ delay = strtoul(argv[idx_number]->arg, NULL, 10);
+ hold = strtoul(argv[idx_number_2]->arg, NULL, 10);
+ max = strtoul(argv[idx_number_3]->arg, NULL, 10);
return ospf6_timers_spf_set (vty, delay, hold, max);
}
int idx_number = 3;
unsigned int minarrival;
- VTY_GET_INTEGER ("LSA min-arrival", minarrival, argv[idx_number]->arg);
+ minarrival = strtoul(argv[idx_number]->arg, NULL, 10);
ospf->lsa_minarrival = minarrival;
return CMD_SUCCESS;
if (argc == 5)
{
- VTY_GET_INTEGER ("LSA min-arrival", minarrival, argv[idx_number]->arg);
+ minarrival = strtoul(argv[idx_number]->arg, NULL, 10);
if (ospf->lsa_minarrival != minarrival ||
minarrival == OSPF_MIN_LS_ARRIVAL)
int idx_number = 2;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (!ospf_lookup_instance (instance))
return CMD_SUCCESS;
int idx_number = 3;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (!ospf_lookup_instance (instance))
return CMD_SUCCESS;
int idx_number = 2;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (!ospf_lookup_instance (instance))
return CMD_SUCCESS;
int idx_number = 3;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (!ospf_lookup_instance (instance))
return CMD_SUCCESS;
int idx_number = 2;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (!ospf_lookup_instance (instance))
return CMD_SUCCESS;
int idx_number = 3;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (!ospf_lookup_instance (instance))
return CMD_SUCCESS;
int idx_number = 2;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (!ospf_lookup_instance (instance))
return CMD_SUCCESS;
int idx_number = 3;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (!ospf_lookup_instance (instance))
return CMD_SUCCESS;
int idx_number = 2;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (!ospf_lookup_instance (instance))
return CMD_SUCCESS;
int idx_number = 3;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (!ospf_lookup_instance (instance))
return CMD_SUCCESS;
struct ospf *ospf;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance (instance)) == NULL )
return CMD_SUCCESS;
}
if (argc > 2)
- VTY_GET_INTEGER ("Instance", instance, argv[2]->arg);
+ instance = strtoul (argv[2]->arg, NULL, 10);
/* The following logic to set the vty qobj index is in place to be able
to ignore the commands which dont belong to this instance. */
u_short instance = 0;
if (argc > 3)
- VTY_GET_INTEGER ("Instance", instance, argv[3]->arg);
+ instance = strtoul(argv[3]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance (instance)) == NULL)
return CMD_SUCCESS;
}
/* Get network prefix and Area ID. */
- VTY_GET_IPV4_PREFIX ("network prefix", p, argv[idx_ipv4_prefixlen]->arg);
+ str2prefix_ipv4(argv[idx_ipv4_prefixlen]->arg, &p);
VTY_GET_OSPF_AREA_ID (area_id, format, argv[idx_ipv4_number]->arg);
ret = ospf_network_set (ospf, &p, area_id, format);
}
/* Get network prefix and Area ID. */
- VTY_GET_IPV4_PREFIX ("network prefix", p, argv[idx_ipv4_prefixlen]->arg);
+ str2prefix_ipv4(argv[idx_ipv4_prefixlen]->arg, &p);
VTY_GET_OSPF_AREA_ID (area_id, format, argv[idx_ipv4_number]->arg);
ret = ospf_network_unset (ospf, &p, area_id);
u_int32_t cost;
VTY_GET_OSPF_AREA_ID (area_id, format, argv[idx_ipv4_number]->arg);
- VTY_GET_IPV4_PREFIX ("area range", p, argv[idx_ipv4_prefixlen]->arg);
+ str2prefix_ipv4(argv[idx_ipv4_prefixlen]->arg, &p);
ospf_area_range_set (ospf, area_id, &p, OSPF_AREA_RANGE_ADVERTISE);
if (argc > 5)
{
- VTY_GET_INTEGER ("range cost", cost, argv[idx_cost]->arg);
+ cost = strtoul(argv[idx_cost]->arg, NULL, 10);
ospf_area_range_cost_set (ospf, area_id, &p, cost);
}
u_int32_t cost;
VTY_GET_OSPF_AREA_ID (area_id, format, argv[idx_ipv4_number]->arg);
- VTY_GET_IPV4_PREFIX ("area range", p, argv[idx_ipv4_prefixlen]->arg);
+ str2prefix_ipv4(argv[idx_ipv4_prefixlen]->arg, &p);
ospf_area_range_set (ospf, area_id, &p, OSPF_AREA_RANGE_ADVERTISE);
ospf_area_display_format_set (ospf, ospf_area_get (ospf, area_id), format);
- VTY_GET_INTEGER ("range cost", cost, argv[idx_cost]->arg);
+ cost = strtoul(argv[idx_cost]->arg, NULL, 10);
ospf_area_range_cost_set (ospf, area_id, &p, cost);
return CMD_SUCCESS;
int format;
VTY_GET_OSPF_AREA_ID (area_id, format, argv[idx_ipv4_number]->arg);
- VTY_GET_IPV4_PREFIX ("area range", p, argv[idx_ipv4_prefixlen]->arg);
+ str2prefix_ipv4(argv[idx_ipv4_prefixlen]->arg, &p);
ospf_area_range_set (ospf, area_id, &p, 0);
ospf_area_display_format_set (ospf, ospf_area_get (ospf, area_id), format);
int format;
VTY_GET_OSPF_AREA_ID (area_id, format, argv[idx_ipv4_number]->arg);
- VTY_GET_IPV4_PREFIX ("area range", p, argv[idx_ipv4_prefixlen]->arg);
+ str2prefix_ipv4(argv[idx_ipv4_prefixlen]->arg, &p);
ospf_area_range_unset (ospf, area_id, &p);
int format;
VTY_GET_OSPF_AREA_ID (area_id, format, argv[idx_ipv4_number]->arg);
- VTY_GET_IPV4_PREFIX ("area range", p, argv[idx_ipv4_prefixlen]->arg);
- VTY_GET_IPV4_PREFIX ("substituted network prefix", s, argv[idx_ipv4_prefixlen_2]->arg);
+ str2prefix_ipv4(argv[idx_ipv4_prefixlen]->arg, &p);
+ str2prefix_ipv4(argv[idx_ipv4_prefixlen_2]->arg, &s);
ospf_area_range_substitute_set (ospf, area_id, &p, &s);
ospf_area_display_format_set (ospf, ospf_area_get (ospf, area_id), format);
int format;
VTY_GET_OSPF_AREA_ID (area_id, format, argv[idx_ipv4_number]->arg);
- VTY_GET_IPV4_PREFIX ("area range", p, argv[idx_ipv4_prefixlen]->arg);
- VTY_GET_IPV4_PREFIX ("substituted network prefix", s, argv[idx_ipv4_prefixlen_2]->arg);
+ str2prefix_ipv4(argv[idx_ipv4_prefixlen]->arg, &p);
+ str2prefix_ipv4(argv[idx_ipv4_prefixlen_2]->arg, &s);
ospf_area_range_substitute_unset (ospf, area_id, &p);
struct prefix_ipv4 p;
VTY_GET_OSPF_AREA_ID_NO_BB ("default-cost", area_id, format, argv[idx_ipv4_number]->arg);
- VTY_GET_INTEGER_RANGE ("stub default cost", cost, argv[idx_number]->arg, 0, 16777215);
+ cost = strtoul(argv[idx_number]->arg, NULL, 10);
area = ospf_area_get (ospf, area_id);
ospf_area_display_format_set (ospf, area, format);
{
VTY_DECLVAR_CONTEXT(ospf, ospf);
int idx_ipv4_number = 2;
- int idx_number = 4;
struct ospf_area *area;
struct in_addr area_id;
int format;
struct prefix_ipv4 p;
VTY_GET_OSPF_AREA_ID_NO_BB ("default-cost", area_id, format, argv[idx_ipv4_number]->arg);
- VTY_CHECK_INTEGER_RANGE ("stub default cost", argv[idx_number]->arg, 0, OSPF_LS_INFINITY);
area = ospf_area_lookup_by_area_id (ospf, area_id);
if (area == NULL)
return CMD_WARNING;
}
- VTY_GET_INTEGER ("LSA interval", interval, argv[idx_number]->arg);
+ interval = strtoul(argv[idx_number]->arg, NULL, 10);
ospf->min_ls_interval = interval;
return CMD_WARNING;
}
- VTY_GET_INTEGER_RANGE ("minimum LSA inter-arrival time", arrival, argv[idx_number]->arg, 0, 1000);
+ arrival = strtoul(argv[idx_number]->arg, NULL, 10);
ospf->min_ls_arrival = arrival;
return CMD_WARNING;
}
- VTY_GET_INTEGER_RANGE ("SPF delay timer", delay, argv[idx_number]->arg, 0, 600000);
- VTY_GET_INTEGER_RANGE ("SPF hold timer", hold, argv[idx_number_2]->arg, 0, 600000);
- VTY_GET_INTEGER_RANGE ("SPF max-hold timer", max, argv[idx_number_3]->arg, 0, 600000);
+ delay = strtoul(argv[idx_number]->arg, NULL, 10);
+ hold = strtoul(argv[idx_number_2]->arg, NULL, 10);
+ max = strtoul(argv[idx_number_3]->arg, NULL, 10);
return ospf_timers_spf_set (vty, delay, hold, max);
}
return CMD_WARNING;
}
- VTY_GET_INTEGER ("LSA min-arrival", minarrival, argv[idx_number]->arg);
+ minarrival = strtoul(argv[idx_number]->arg, NULL, 10);
ospf->min_ls_arrival = minarrival;
if (argc > 4)
{
- VTY_GET_INTEGER ("LSA min-arrival", minarrival, argv[4]->arg);
+ minarrival = strtoul(argv[4]->arg, NULL, 10);
if (ospf->min_ls_arrival != minarrival ||
minarrival == OSPF_MIN_LS_ARRIVAL)
unsigned int priority = OSPF_NEIGHBOR_PRIORITY_DEFAULT;
unsigned int interval = OSPF_POLL_INTERVAL_DEFAULT;
- VTY_GET_IPV4_ADDRESS ("neighbor address", nbr_addr, argv[idx_ipv4]->arg);
+ inet_aton(argv[idx_ipv4]->arg, &nbr_addr);
if (argc > 2)
- VTY_GET_INTEGER_RANGE ("neighbor priority", priority, argv[idx_pri]->arg, 0, 255);
+ priority = strtoul(argv[idx_pri]->arg, NULL, 10);
if (argc > 4)
- VTY_GET_INTEGER_RANGE ("poll interval", interval, argv[idx_poll]->arg, 1, 65535);
+ interval = strtoul(argv[idx_poll]->arg, NULL, 10);
ospf_nbr_nbma_set (ospf, nbr_addr);
unsigned int priority = OSPF_NEIGHBOR_PRIORITY_DEFAULT;
unsigned int interval = OSPF_POLL_INTERVAL_DEFAULT;
- VTY_GET_IPV4_ADDRESS ("neighbor address", nbr_addr, argv[idx_ipv4]->arg);
+ inet_aton(argv[idx_ipv4]->arg, &nbr_addr);
- VTY_GET_INTEGER_RANGE ("poll interval", interval, argv[idx_poll]->arg, 1, 65535);
+ interval = strtoul(argv[idx_poll]->arg, NULL, 10);
if (argc > 4)
- VTY_GET_INTEGER_RANGE ("neighbor priority", priority, argv[idx_pri]->arg, 0, 255);
+ priority = strtoul(argv[idx_pri]->arg, NULL, 10);
ospf_nbr_nbma_set (ospf, nbr_addr);
ospf_nbr_nbma_poll_interval_set (ospf, nbr_addr, interval);
int idx_ipv4 = 2;
struct in_addr nbr_addr;
- VTY_GET_IPV4_ADDRESS ("neighbor address", nbr_addr, argv[idx_ipv4]->arg);
+ inet_aton(argv[idx_ipv4]->arg, &nbr_addr);
(void)ospf_nbr_nbma_unset (ospf, nbr_addr);
int idx_ipv4 = 2;
struct in_addr nbr_addr;
- VTY_GET_IPV4_ADDRESS ("neighbor address", nbr_addr, argv[idx_ipv4]->arg);
+ inet_aton(argv[idx_ipv4]->arg, &nbr_addr);
(void)ospf_nbr_nbma_unset (ospf, nbr_addr);
int idx_number = 2;
unsigned int interval;
- VTY_GET_INTEGER_RANGE ("refresh timer", interval, argv[idx_number]->arg, 10, 1800);
+ interval = strtoul(argv[idx_number]->arg, NULL, 10);
interval = (interval / OSPF_LSA_REFRESHER_GRANULARITY) * OSPF_LSA_REFRESHER_GRANULARITY;
ospf_timers_refresh_set (ospf, interval);
if (argc == 1)
{
- VTY_GET_INTEGER_RANGE ("refresh timer", interval, argv[idx_number]->arg, 10, 1800);
+ interval = strtoul(argv[idx_number]->arg, NULL, 10);
if (ospf->lsa_refresh_interval != interval ||
interval == OSPF_LSA_REFRESH_INTERVAL_DEFAULT)
u_short instance = 0;
u_char uj = use_json(argc, argv);
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance (instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
u_short instance = 0;
u_char uj = use_json(argc, argv);
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance (instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
u_short instance = 0;
u_char uj = use_json(argc, argv);
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance(instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
u_short instance = 0;
u_char uj = use_json(argc, argv);
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance(instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
u_short instance = 0;
u_char uj = use_json(argc, argv);
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance(instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
u_short instance = 0;
u_char uj = use_json(argc, argv);
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance(instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
u_short instance = 0;
u_char uj = use_json(argc, argv);
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance (instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
u_short instance = 0;
u_char uj = use_json(argc, argv);
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance(instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
u_short instance = 0;
u_char uj = use_json(argc, argv);
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance(instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
int idx = 0;
if (argv_find (argv, argc, "(1-65535)", &idx))
{
- VTY_GET_INTEGER ("Instance", instance, argv[idx]->arg);
+ instance = strtoul(argv[idx]->arg, NULL, 10);
ospf = ospf_lookup_instance (instance);
}
else {
struct ospf *ospf;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance (instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
struct ospf *ospf;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance (instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
if (interval_str)
{
- VTY_GET_INTEGER_RANGE ("Router Dead Interval", seconds, interval_str,
- 1, 65535);
+ seconds = strtoul(interval_str, NULL, 10);
/* reset fast_hello too, just to be sure */
UNSET_IF_PARAM (params, fast_hello);
}
else if (fast_hello_str)
{
- VTY_GET_INTEGER_RANGE ("Hello Multiplier", hellomult, fast_hello_str,
- 1, 10);
+ hellomult = strtoul(fast_hello_str, NULL, 10);
/* 1s dead-interval with sub-second hellos desired */
seconds = OSPF_ROUTER_DEAD_INTERVAL_MINIMAL;
SET_IF_PARAM (params, fast_hello);
source = proto_redistnum (AFI_IP, argv[idx_ospf_table]->text);
- VTY_GET_INTEGER ("Instance ID", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if (!ospf)
return CMD_SUCCESS;
else
source = ZEBRA_ROUTE_TABLE;
- VTY_GET_INTEGER ("Instance ID", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((source == ZEBRA_ROUTE_OSPF) && !ospf->instance)
{
return CMD_WARNING;
}
- VTY_GET_INTEGER ("stub-router startup period", seconds, argv[idx_number]->arg);
+ seconds = strtoul(argv[idx_number]->arg, NULL, 10);
ospf->stub_router_startup_time = seconds;
return CMD_WARNING;
}
- VTY_GET_INTEGER ("stub-router shutdown wait period", seconds, argv[idx_number]->arg);
+ seconds = strtoul(argv[idx_number]->arg, NULL, 10);
ospf->stub_router_shutdown_time = seconds;
struct ospf *ospf;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance (instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
struct ospf *ospf;
u_short instance = 0;
- VTY_GET_INTEGER ("Instance", instance, argv[idx_number]->arg);
+ instance = strtoul(argv[idx_number]->arg, NULL, 10);
if ((ospf = ospf_lookup_instance (instance)) == NULL || !ospf->oi_running)
return CMD_SUCCESS;
unsigned long timeout;
unsigned long garbage;
- VTY_GET_INTEGER_RANGE("update timer", update, argv[idx_number]->arg, 0, 65535);
- VTY_GET_INTEGER_RANGE("timeout timer", timeout, argv[idx_number_2]->arg, 0, 65535);
- VTY_GET_INTEGER_RANGE("garbage timer", garbage, argv[idx_number_3]->arg, 0, 65535);
+ update = strtoul(argv[idx_number]->arg, NULL, 10);
+ timeout = strtoul(argv[idx_number_2]->arg, NULL, 10);
+ garbage = strtoul(argv[idx_number_3]->arg, NULL, 10);
/* Set each timer value. */
ripng->update_time = update;
struct if_link_params *iflp = if_link_params_get (ifp);
u_int32_t metric;
- VTY_GET_ULONG("metric", metric, argv[idx_number]->arg);
+ metric = strtoul(argv[idx_number]->arg, NULL, 10);
/* Update TE metric if needed */
link_param_cmd_set_uint32 (ifp, &iflp->te_metric, LP_TE_METRIC, metric);
return CMD_WARNING;
}
- VTY_GET_ULONG("AS number", as, argv[idx_number]->arg);
+ as = strtoul(argv[idx_number]->arg, NULL, 10);
/* Update Remote IP and Remote AS fields if needed */
if (IS_PARAM_UNSET(iflp, LP_RMT_AS)
{
/* Get and Check new delay values */
u_int32_t delay = 0, low = 0, high = 0;
- VTY_GET_ULONG("delay", delay, argv[1]->arg);
+ delay = strtoul(argv[1]->arg, NULL, 10);
if (argc == 6)
{
- VTY_GET_ULONG("minimum delay", low, argv[3]->arg);
- VTY_GET_ULONG("maximum delay", high, argv[5]->arg);
+ low = strtoul(argv[3]->arg, NULL, 10);
+ high = strtoul(argv[5]->arg, NULL, 10);
}
VTY_DECLVAR_CONTEXT (interface, ifp);
struct if_link_params *iflp = if_link_params_get (ifp);
u_int32_t value;
- VTY_GET_ULONG("delay variation", value, argv[idx_number]->arg);
+ value = strtoul(argv[idx_number]->arg, NULL, 10);
/* Update Delay Variation if needed */
link_param_cmd_set_uint32 (ifp, &iflp->delay_var, LP_DELAY_VAR, value);
struct zebra_ns *zns;
zns = zvrf->zns;
- VTY_GET_INTEGER_RANGE ("router advertisement interval", interval, argv[idx_number]->arg, 70, 1800000);
+ interval = strtoul(argv[idx_number]->arg, NULL, 10);
if ((zif->rtadv.AdvDefaultLifetime != -1 && interval > (unsigned)zif->rtadv.AdvDefaultLifetime * 1000))
{
vty_out (vty, "This ra-interval would conflict with configured ra-lifetime!%s", VTY_NEWLINE);
struct zebra_ns *zns;
zns = zvrf->zns;
- VTY_GET_INTEGER_RANGE ("router advertisement interval", interval, argv[idx_number]->arg, 1, 1800);
+ interval = strtoul(argv[idx_number]->arg, NULL, 10);
if ((zif->rtadv.AdvDefaultLifetime != -1 && interval > (unsigned)zif->rtadv.AdvDefaultLifetime))
{
vty_out (vty, "This ra-interval would conflict with configured ra-lifetime!%s", VTY_NEWLINE);
struct zebra_if *zif = ifp->info;
int lifetime;
- VTY_GET_INTEGER_RANGE ("router lifetime", lifetime, argv[idx_number]->arg, 0, 9000);
+ lifetime = strtoul(argv[idx_number]->arg, NULL, 10);
/* The value to be placed in the Router Lifetime field
* of Router Advertisements sent from the interface,
int idx_number = 3;
VTY_DECLVAR_CONTEXT (interface, ifp);
struct zebra_if *zif = ifp->info;
- VTY_GET_INTEGER_RANGE ("reachable time", zif->rtadv.AdvReachableTime, argv[idx_number]->arg, 1, RTADV_MAX_REACHABLE_TIME);
+ zif->rtadv.AdvReachableTime = strtoul(argv[idx_number]->arg, NULL, 10);
return CMD_SUCCESS;
}
int idx_number = 3;
VTY_DECLVAR_CONTEXT (interface, ifp);
struct zebra_if *zif = ifp->info;
- VTY_GET_INTEGER_RANGE ("home agent preference", zif->rtadv.HomeAgentPreference, argv[idx_number]->arg, 0, 65535);
+ zif->rtadv.HomeAgentPreference = strtoul(argv[idx_number]->arg, NULL, 10);
return CMD_SUCCESS;
}
int idx_number = 3;
VTY_DECLVAR_CONTEXT (interface, ifp);
struct zebra_if *zif = ifp->info;
- VTY_GET_INTEGER_RANGE ("home agent lifetime", zif->rtadv.HomeAgentLifetime, argv[idx_number]->arg, 0, RTADV_MAX_HALIFETIME);
+ zif->rtadv.HomeAgentLifetime = strtoul(argv[idx_number]->arg, NULL, 10);
return CMD_SUCCESS;
}
int idx_number = 3;
VTY_DECLVAR_CONTEXT (interface, ifp);
struct zebra_if *zif = ifp->info;
- VTY_GET_INTEGER_RANGE ("MTU", zif->rtadv.AdvLinkMTU, argv[idx_number]->arg, 1, 65535);
+ zif->rtadv.AdvLinkMTU = strtoul(argv[idx_number]->arg, NULL, 10);
return CMD_SUCCESS;
}
int idx_number = 3;
u_int32_t rmap_delay_timer;
- VTY_GET_INTEGER_RANGE ("delay-timer", rmap_delay_timer, argv[idx_number]->arg, 0, 600);
+ rmap_delay_timer = strtoul(argv[idx_number]->arg, NULL, 10);
zebra_route_map_set_delay_timer(rmap_delay_timer);
return (CMD_SUCCESS);
/* tag */
if (tag_str)
- VTY_GET_INTEGER_RANGE("tag", tag, tag_str, 0, 4294967295);
+ tag = strtoul(tag_str, NULL, 10);
/* VRF id */
zvrf = zebra_vrf_lookup_by_name (vrf_id_str);
}
if (argv_find (argv, argc, "tag", &idx))
- VTY_GET_INTEGER_RANGE("tag", tag, argv[idx+1]->arg, 0, 4294967295);
+ tag = strtoul(argv[idx + 1]->arg, NULL, 10);
else if (argv_find (argv, argc, "A.B.C.D/M", &idx))
{
type = proto_redistnum (AFI_IP, argv[idx]->text);
if (argv_find (argv, argc, "(1-65535)", &idx))
- VTY_GET_INTEGER ("Instance", ospf_instance_id, argv[idx]->arg);
+ ospf_instance_id = strtoul(argv[idx]->arg, NULL, 10);
if (type < 0)
{
/* tag */
if (tag_str)
- VTY_GET_INTEGER_RANGE("tag", tag, tag_str, 0, 4294967295);
+ tag = strtoul(tag_str, NULL, 10);
/* When gateway is valid IPv6 addrees, then gate is treated as
nexthop address other case gate is treated as interface name. */
}
if (argv_find (argv, argc, "tag", &idx))
- VTY_GET_INTEGER_RANGE("tag", tag, argv[idx+1]->arg, 0, 4294967295);
+ tag = strtoul(argv[idx + 1]->arg, NULL, 10);
else if (argv_find (argv, argc, "X:X::X:X/M", &idx))
{
{
u_int32_t table_id = 0;
- VTY_GET_INTEGER("table", table_id, argv[2]->arg);
+ table_id = strtoul(argv[2]->arg, NULL, 10);
int distance = ZEBRA_TABLE_DISTANCE_DEFAULT;
char *rmap = strmatch (argv[argc - 2]->text, "route-map") ?
XSTRDUP(MTYPE_ROUTE_MAP_NAME, argv[argc - 1]->arg) : NULL;
int ret;
if (argc == 7 || (argc == 5 && !rmap))
- VTY_GET_INTEGER_RANGE("distance", distance, argv[4]->arg, 1, 255);
+ distance = strtoul(argv[4]->arg, NULL, 10);
if (!is_zebra_valid_kernel_table(table_id))
{
"route-map name\n")
{
u_int32_t table_id = 0;
- VTY_GET_INTEGER("table", table_id, argv[3]->arg);
+ table_id = strtoul(argv[3]->arg, NULL, 10);
if (!is_zebra_valid_kernel_table(table_id))
{