From: Quentin Young Date: Tue, 27 Jun 2017 18:47:03 +0000 (+0000) Subject: *: remove VTY_GET_* X-Git-Tag: reindent-master-before~44^2 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=facfee22f55631992113af5606cf8ade069684b3;p=mirror_frr.git *: remove VTY_GET_* CLI validates input tokens, so there's no need to do it in handler functions anymore. spatch follows ---------------- @getull@ expression v; expression str; @@ <... - VTY_GET_ULL(..., v, str) + v = strtoull (str, NULL, 10) ...> @getul@ expression v; expression str; @@ <... - VTY_GET_ULONG(..., v, str) + v = strtoul (str, NULL, 10) ...> @getintrange@ expression name; expression v; expression str; @@ <... - VTY_GET_INTEGER_RANGE(name, v, str, ...) + v = strtoul (str, NULL, 10) ...> @getint@ expression v; expression str; @@ <... - VTY_GET_INTEGER(..., v, str) + v = strtoul (str, NULL, 10) ...> @getv4@ expression v; expression str; @@ <... - VTY_GET_IPV4_ADDRESS(..., v, str) + inet_aton (str, &v) ...> @getv4pfx@ expression v; expression str; @@ <... - VTY_GET_IPV4_PREFIX(..., v, str) + str2prefix_ipv4 (str, &v) ...> Signed-off-by: Quentin Young --- diff --git a/babeld/babel_interface.c b/babeld/babel_interface.c index 718e918bb..3f589df0a 100644 --- a/babeld/babel_interface.c +++ b/babeld/babel_interface.c @@ -430,7 +430,7 @@ DEFUN (babel_set_hello_interval, 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); @@ -451,7 +451,7 @@ DEFUN (babel_set_update_interval, 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); @@ -471,7 +471,7 @@ DEFUN (babel_set_rxcost, 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); @@ -491,7 +491,7 @@ DEFUN (babel_set_rtt_decay, 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); @@ -511,7 +511,7 @@ DEFUN (babel_set_rtt_min, 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); @@ -531,7 +531,7 @@ DEFUN (babel_set_rtt_max, 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); @@ -551,7 +551,7 @@ DEFUN (babel_set_max_rtt_penalty, 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); @@ -604,7 +604,7 @@ DEFUN (babel_set_channel, 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); diff --git a/babeld/babeld.c b/babeld/babeld.c index e38c7ed50..e7d4e5137 100644 --- a/babeld/babeld.c +++ b/babeld/babeld.c @@ -659,7 +659,7 @@ DEFUN (babel_diversity_factor, { 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; @@ -675,7 +675,7 @@ DEFUN (babel_set_resend_delay, { 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; @@ -691,7 +691,7 @@ DEFUN (babel_set_smoothing_half_life, { 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; diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index e7eb7b6d2..52415375a 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -4576,7 +4576,7 @@ bgp_static_set_safi (afi_t afi, safi_t safi, struct vty *vty, const char *ip_str 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 @@ -4710,7 +4710,7 @@ bgp_static_unset_safi(afi_t afi, safi_t safi, struct vty *vty, const char *ip_st 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 @@ -5021,7 +5021,7 @@ DEFUN (bgp_network_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), NULL, 0, label_index); } @@ -5038,7 +5038,7 @@ DEFUN (bgp_network_label_index_route_map, { 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); } @@ -5168,7 +5168,7 @@ DEFUN (ipv6_bgp_network_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); } @@ -5185,7 +5185,7 @@ DEFUN (ipv6_bgp_network_label_index_route_map, { 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); } diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index b2635c985..df802e011 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -701,7 +701,7 @@ bgp_clear (struct vty *vty, struct bgp *bgp, afi_t afi, safi_t safi, 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)) { @@ -896,7 +896,7 @@ DEFUN_NOSH (router_bgp, // "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) @@ -970,7 +970,7 @@ DEFUN (no_router_bgp, } 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; @@ -1108,7 +1108,7 @@ DEFUN (bgp_confederation_identifier, 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); @@ -1145,7 +1145,7 @@ DEFUN (bgp_confederation_peers, 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) { @@ -1175,7 +1175,7 @@ DEFUN (no_bgp_confederation_peers, 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); } @@ -1342,8 +1342,7 @@ bgp_update_delay_config_vty (struct vty *vty, const char *delay, 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 */ { @@ -1436,8 +1435,7 @@ bgp_wpkt_quanta_config_vty (struct vty *vty, const char *num, char set) 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; @@ -1651,8 +1649,8 @@ DEFUN (bgp_timers, 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) @@ -1842,7 +1840,7 @@ DEFUN (bgp_graceful_restart_stalepath_time, 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; } @@ -1859,7 +1857,7 @@ DEFUN (bgp_graceful_restart_restart_time, 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; } @@ -2295,7 +2293,7 @@ DEFUN (bgp_default_local_preference, 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); @@ -2332,7 +2330,7 @@ DEFUN (bgp_default_subgroup_pkt_queue_max, 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); @@ -2405,9 +2403,7 @@ DEFUN (bgp_listen_limit, 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); @@ -2560,8 +2556,6 @@ DEFUN (no_bgp_listen_range, 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) @@ -2673,7 +2667,7 @@ peer_remote_as_vty (struct vty *vty, const char *peer_str, 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. */ @@ -2767,7 +2761,7 @@ peer_conf_interface_get (struct vty *vty, const char *conf_if, afi_t afi, 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; } } @@ -3119,7 +3113,7 @@ DEFUN (neighbor_local_as, 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); } @@ -3143,7 +3137,7 @@ DEFUN (neighbor_local_as_no_prepend, 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); } @@ -3168,7 +3162,7 @@ DEFUN (neighbor_local_as_no_prepend_replace_as, 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); } @@ -4589,7 +4583,7 @@ peer_ebgp_multihop_set_vty (struct vty *vty, const char *ip_str, 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)); } @@ -4900,7 +4894,7 @@ peer_port_vty (struct vty *vty, const char *ip_str, int afi, } else { - VTY_GET_INTEGER("port", port, port_str); + port = strtoul(port_str, NULL, 10); } peer_port_set (peer, port); @@ -4950,7 +4944,7 @@ peer_weight_set_vty (struct vty *vty, const char *ip_str, 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); @@ -5079,8 +5073,8 @@ peer_timers_set_vty (struct vty *vty, const char *ip_str, 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); @@ -5144,7 +5138,7 @@ peer_timers_connect_set_vty (struct vty *vty, const char *ip_str, 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); @@ -5208,7 +5202,7 @@ peer_advertise_interval_vty (struct vty *vty, const char *ip_str, 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); @@ -5259,7 +5253,7 @@ DEFUN (bgp_set_route_map_delay_timer, 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 @@ -5851,7 +5845,7 @@ peer_maximum_prefix_set_vty (struct vty *vty, const char *ip_str, afi_t afi, 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 @@ -6173,7 +6167,7 @@ DEFUN (neighbor_ttl_security, 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, @@ -9622,7 +9616,7 @@ DEFUN (show_ip_bgp_updgrps, /* 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)); } @@ -9811,7 +9805,7 @@ DEFUN (show_ip_bgp_updgrps_adj_s, 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; @@ -9836,7 +9830,7 @@ DEFUN (show_ip_bgp_instance_updgrps_adj_s, 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; @@ -9862,7 +9856,7 @@ DEFUN (show_bgp_updgrps_afi_adj_s, 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), @@ -9887,7 +9881,7 @@ DEFUN (show_bgp_updgrps_adj_s, 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; @@ -9911,7 +9905,7 @@ DEFUN (show_bgp_instance_updgrps_adj_s, 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; @@ -10184,7 +10178,7 @@ DEFUN (bgp_redistribute_ipv4_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_metric_set(bgp, red, AFI_IP, type, metric); @@ -10223,7 +10217,7 @@ DEFUN (bgp_redistribute_ipv4_rmap_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); @@ -10265,7 +10259,7 @@ DEFUN (bgp_redistribute_ipv4_metric_rmap, 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); @@ -10297,7 +10291,7 @@ DEFUN (bgp_redistribute_ipv4_ospf, 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; @@ -10339,7 +10333,7 @@ DEFUN (bgp_redistribute_ipv4_ospf_rmap, 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); @@ -10379,8 +10373,8 @@ DEFUN (bgp_redistribute_ipv4_ospf_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_metric_set(bgp, red, AFI_IP, protocol, metric); @@ -10424,8 +10418,8 @@ DEFUN (bgp_redistribute_ipv4_ospf_rmap_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); @@ -10472,8 +10466,8 @@ DEFUN (bgp_redistribute_ipv4_ospf_metric_rmap, 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); @@ -10517,7 +10511,7 @@ DEFUN (no_bgp_redistribute_ipv4_ospf, 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); } @@ -10637,7 +10631,7 @@ DEFUN (bgp_redistribute_ipv6_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_metric_set(bgp, red, AFI_IP6, type, metric); @@ -10668,7 +10662,7 @@ DEFUN (bgp_redistribute_ipv6_rmap_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); @@ -10700,7 +10694,7 @@ DEFUN (bgp_redistribute_ipv6_metric_rmap, 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); diff --git a/bgpd/rfapi/bgp_rfapi_cfg.c b/bgpd/rfapi/bgp_rfapi_cfg.c index 2caaa5ce3..c84109bc1 100644 --- a/bgpd/rfapi/bgp_rfapi_cfg.c +++ b/bgpd/rfapi/bgp_rfapi_cfg.c @@ -545,7 +545,7 @@ DEFUN (vnc_defaults_responselifetime, } 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 */ } @@ -1108,8 +1108,7 @@ DEFUN (vnc_redistribute_lifetime, } 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); @@ -3205,7 +3204,7 @@ DEFUN (vnc_nve_group_responselifetime, } else { - VTY_GET_INTEGER ("Response Lifetime", rspint, argv[1]->arg); + rspint = strtoul(argv[1]->arg, NULL, 10); } rfg->response_lifetime = rspint; @@ -3332,7 +3331,7 @@ DEFUN (vnc_vrf_policy_label, 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) { @@ -3873,7 +3872,7 @@ DEFUN (vnc_l2_group_lni, 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; } @@ -3913,7 +3912,7 @@ DEFUN (vnc_l2_group_labels, 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); } @@ -3959,7 +3958,7 @@ DEFUN (vnc_l2_group_no_labels, 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); } diff --git a/bgpd/rfapi/rfapi.c b/bgpd/rfapi/rfapi.c index 69fae2ae4..9e6212760 100644 --- a/bgpd/rfapi/rfapi.c +++ b/bgpd/rfapi/rfapi.c @@ -3339,7 +3339,7 @@ DEFUN (debug_rfapi_register_vn_un, } else { - VTY_GET_INTEGER ("Lifetime", lifetime, argv[10]->arg); + lifetime = strtoul(argv[10]->arg, NULL, 10); } @@ -3428,13 +3428,12 @@ DEFUN (debug_rfapi_register_vn_un_l2o, } 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); @@ -3666,7 +3665,7 @@ DEFUN (debug_rfapi_query_vn_un_l2o, 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 */ diff --git a/bgpd/rfapi/rfapi_vty.c b/bgpd/rfapi/rfapi_vty.c index 7c5d6ce3f..50733ff3b 100644 --- a/bgpd/rfapi/rfapi_vty.c +++ b/bgpd/rfapi/rfapi_vty.c @@ -2423,9 +2423,8 @@ register_add ( 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))) @@ -3170,8 +3169,7 @@ parse_deleter_args ( } 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; } } @@ -5095,7 +5093,7 @@ vnc_add_vrf_prefix (struct vty *vty, 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 diff --git a/bgpd/rfp-example/librfp/rfp_example.c b/bgpd/rfp-example/librfp/rfp_example.c index dad81c6dd..b6221b5ba 100644 --- a/bgpd/rfp-example/librfp/rfp_example.c +++ b/bgpd/rfp-example/librfp/rfp_example.c @@ -49,7 +49,7 @@ DEFUN (rfp_example_config_value, 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; diff --git a/eigrpd/eigrp_vty.c b/eigrpd/eigrp_vty.c index c6ff7b5a8..7762bc18c 100644 --- a/eigrpd/eigrp_vty.c +++ b/eigrpd/eigrp_vty.c @@ -387,7 +387,7 @@ DEFUN (eigrp_network, 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); @@ -411,7 +411,7 @@ DEFUN (no_eigrp_network, 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); @@ -1294,7 +1294,7 @@ DEFUN (clear_ip_eigrp_neighbors_IP, 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 (); @@ -1402,7 +1402,7 @@ DEFUN (clear_ip_eigrp_neighbors_IP_soft, 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 (); diff --git a/isisd/isis_vty.c b/isisd/isis_vty.c index 4d758315e..ed00bcd22 100644 --- a/isisd/isis_vty.c +++ b/isisd/isis_vty.c @@ -1532,7 +1532,7 @@ DEFUN (area_lsp_mtu, 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); } diff --git a/lib/bfd.c b/lib/bfd.c index 217fc0972..99d13c259 100644 --- a/lib/bfd.c +++ b/lib/bfd.c @@ -93,12 +93,9 @@ bfd_validate_param(struct vty *vty, const char *dm_str, const char *rx_str, 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; } diff --git a/lib/command.c b/lib/command.c index 585371099..56fedf091 100644 --- a/lib/command.c +++ b/lib/command.c @@ -2345,8 +2345,7 @@ DEFUN (config_log_timestamp_precision, "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; } diff --git a/lib/keychain.c b/lib/keychain.c index 1aa6edb4b..0624ef69e 100644 --- a/lib/keychain.c +++ b/lib/keychain.c @@ -291,7 +291,7 @@ DEFUN_NOSH (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_get (keychain, index); VTY_PUSH_CONTEXT_SUB (KEYCHAIN_KEY_NODE, key); @@ -310,7 +310,7 @@ DEFUN (no_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) { @@ -517,7 +517,7 @@ key_lifetime_duration_set (struct vty *vty, struct key_range *krange, } 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; diff --git a/lib/ns.c b/lib/ns.c index 68dc3fa34..192f655d9 100644 --- a/lib/ns.c +++ b/lib/ns.c @@ -320,7 +320,7 @@ DEFUN_NOSH (ns_netns, 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) @@ -361,7 +361,7 @@ DEFUN (no_ns_netns, 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) diff --git a/lib/routemap.c b/lib/routemap.c index fcd3c7a7a..531a1faa1 100644 --- a/lib/routemap.c +++ b/lib/routemap.c @@ -2688,7 +2688,7 @@ DEFUN (rmap_onmatch_goto, } if (num) - VTY_GET_INTEGER_RANGE("route-map index", d, num, 1, 65535); + d = strtoul(num, NULL, 10); else d = index->pref + 1; diff --git a/lib/vty.h b/lib/vty.h index 7dc9e339f..e658eb236 100644 --- a/lib/vty.h +++ b/lib/vty.h @@ -204,115 +204,6 @@ struct vty_arg #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[]; diff --git a/nhrpd/nhrp_vty.c b/nhrpd/nhrp_vty.c index f7c55a7ac..823a80967 100644 --- a/nhrpd/nhrp_vty.c +++ b/nhrpd/nhrp_vty.c @@ -233,7 +233,7 @@ DEFUN(nhrp_nflog_group, nhrp_nflog_group_cmd, { 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; @@ -312,7 +312,7 @@ DEFUN(if_nhrp_network_id, if_nhrp_network_id_cmd, 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; @@ -407,7 +407,7 @@ DEFUN(if_nhrp_holdtime, if_nhrp_holdtime_cmd, 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; @@ -445,7 +445,8 @@ DEFUN(if_nhrp_mtu, if_nhrp_mtu_cmd, 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); diff --git a/ospf6d/ospf6_area.c b/ospf6d/ospf6_area.c index deb2c0770..a4996018a 100644 --- a/ospf6d/ospf6_area.c +++ b/ospf6d/ospf6_area.c @@ -480,7 +480,7 @@ DEFUN (area_range, } 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); } } diff --git a/ospf6d/ospf6_spf.c b/ospf6d/ospf6_spf.c index e7cfd3fc9..c8c495dca 100644 --- a/ospf6d/ospf6_spf.c +++ b/ospf6d/ospf6_spf.c @@ -885,9 +885,9 @@ DEFUN (ospf6_timers_throttle_spf, 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); } diff --git a/ospf6d/ospf6_top.c b/ospf6d/ospf6_top.c index dfda06678..c0794d863 100644 --- a/ospf6d/ospf6_top.c +++ b/ospf6d/ospf6_top.c @@ -417,7 +417,7 @@ DEFUN (ospf6_timers_lsa, 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; @@ -438,7 +438,7 @@ DEFUN (no_ospf6_timers_lsa, 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) diff --git a/ospfd/ospf_dump.c b/ospfd/ospf_dump.c index f33d92f87..93017aafc 100644 --- a/ospfd/ospf_dump.c +++ b/ospfd/ospf_dump.c @@ -963,7 +963,7 @@ DEFUN (debug_ospf_instance_nsm, 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; @@ -1038,7 +1038,7 @@ DEFUN (no_debug_ospf_instance_nsm, 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; @@ -1115,7 +1115,7 @@ DEFUN (debug_ospf_instance_lsa, 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; @@ -1194,7 +1194,7 @@ DEFUN (no_debug_ospf_instance_lsa, 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; @@ -1259,7 +1259,7 @@ DEFUN (debug_ospf_instance_zebra, 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; @@ -1327,7 +1327,7 @@ DEFUN (no_debug_ospf_instance_zebra, 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; @@ -1374,7 +1374,7 @@ DEFUN (debug_ospf_instance_event, 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; @@ -1396,7 +1396,7 @@ DEFUN (no_debug_ospf_instance_event, 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; @@ -1444,7 +1444,7 @@ DEFUN (debug_ospf_instance_nssa, 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; @@ -1466,7 +1466,7 @@ DEFUN (no_debug_ospf_instance_nssa, 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; @@ -1688,7 +1688,7 @@ DEFUN (show_debugging_ospf_instance, 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; diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index c831b1382..8f847df93 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -155,7 +155,7 @@ DEFUN_NOSH (router_ospf, } 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. */ @@ -185,7 +185,7 @@ DEFUN (no_router_ospf, 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; @@ -523,7 +523,7 @@ DEFUN (ospf_network_area, } /* 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); @@ -561,7 +561,7 @@ DEFUN (no_ospf_network_area, } /* 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); @@ -597,12 +597,12 @@ DEFUN (ospf_area_range, 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); } @@ -630,12 +630,12 @@ DEFUN (ospf_area_range_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; @@ -659,7 +659,7 @@ DEFUN (ospf_area_range_not_advertise, 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); @@ -691,7 +691,7 @@ DEFUN (no_ospf_area_range, 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); @@ -718,8 +718,8 @@ DEFUN (ospf_area_range_substitute, 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); @@ -748,8 +748,8 @@ DEFUN (no_ospf_area_range_substitute, 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); @@ -1651,7 +1651,7 @@ DEFUN (ospf_area_default_cost, 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); @@ -1688,14 +1688,12 @@ DEFUN (no_ospf_area_default_cost, { 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) @@ -2211,7 +2209,7 @@ DEFUN (ospf_timers_min_ls_interval, 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; @@ -2253,7 +2251,7 @@ DEFUN (ospf_timers_min_ls_arrival, 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; @@ -2298,9 +2296,9 @@ DEFUN (ospf_timers_throttle_spf, 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); } @@ -2341,7 +2339,7 @@ DEFUN (ospf_timers_lsa, 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; @@ -2362,7 +2360,7 @@ DEFUN (no_ospf_timers_lsa, 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) @@ -2392,13 +2390,13 @@ DEFUN (ospf_neighbor, 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); @@ -2429,12 +2427,12 @@ DEFUN (ospf_neighbor_poll_interval, 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); @@ -2460,7 +2458,7 @@ DEFUN (no_ospf_neighbor, 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); @@ -2482,7 +2480,7 @@ DEFUN (no_ospf_neighbor_poll, 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); @@ -2500,7 +2498,7 @@ DEFUN (ospf_refresh_timer, 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); @@ -2522,7 +2520,7 @@ DEFUN (no_ospf_refresh_timer, 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) @@ -3237,7 +3235,7 @@ DEFUN (show_ip_ospf_instance, 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; @@ -3634,7 +3632,7 @@ DEFUN (show_ip_ospf_instance_interface, 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; @@ -3792,7 +3790,7 @@ DEFUN (show_ip_ospf_instance_neighbor, 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; @@ -3905,7 +3903,7 @@ DEFUN (show_ip_ospf_instance_neighbor_all, 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; @@ -4000,7 +3998,7 @@ DEFUN (show_ip_ospf_instance_neighbor_int, 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; @@ -4372,7 +4370,7 @@ DEFUN (show_ip_ospf_instance_neighbor_id, 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; @@ -4464,7 +4462,7 @@ DEFUN (show_ip_ospf_instance_neighbor_detail, 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; @@ -4564,7 +4562,7 @@ DEFUN (show_ip_ospf_instance_neighbor_detail_all, 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; @@ -4667,7 +4665,7 @@ DEFUN (show_ip_ospf_instance_neighbor_int_detail, 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; @@ -5421,7 +5419,7 @@ DEFUN (show_ip_ospf_instance_database, 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 { @@ -5449,7 +5447,7 @@ DEFUN (show_ip_ospf_instance_database_max, 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; @@ -5550,7 +5548,7 @@ DEFUN (show_ip_ospf_instance_database_type_adv_router, 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; @@ -6225,8 +6223,7 @@ ospf_vty_dead_interval_set (struct vty *vty, const char *interval_str, 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); @@ -6234,8 +6231,7 @@ ospf_vty_dead_interval_set (struct vty *vty, const char *interval_str, } 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); @@ -7186,7 +7182,7 @@ DEFUN (ospf_redistribute_instance_source, 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; @@ -7255,7 +7251,7 @@ DEFUN (no_ospf_redistribute_instance_source, 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) { @@ -7768,7 +7764,7 @@ DEFUN (ospf_max_metric_router_lsa_startup, 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; @@ -7824,7 +7820,7 @@ DEFUN (ospf_max_metric_router_lsa_shutdown, 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; @@ -8077,7 +8073,7 @@ DEFUN (show_ip_ospf_instance_border_routers, 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; @@ -8140,7 +8136,7 @@ DEFUN (show_ip_ospf_instance_route, 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; diff --git a/ripngd/ripngd.c b/ripngd/ripngd.c index 11d1ed01f..eac01f7d5 100644 --- a/ripngd/ripngd.c +++ b/ripngd/ripngd.c @@ -2534,9 +2534,9 @@ DEFUN (ripng_timers, 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; diff --git a/zebra/interface.c b/zebra/interface.c index 9393305f0..e8b1cf733 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -1806,7 +1806,7 @@ DEFUN (link_params_metric, 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); @@ -2011,7 +2011,7 @@ DEFUN (link_params_inter_as, 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) @@ -2064,11 +2064,11 @@ DEFUN (link_params_delay, { /* 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); @@ -2167,7 +2167,7 @@ DEFUN (link_params_delay_var, 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); diff --git a/zebra/rtadv.c b/zebra/rtadv.c index 5b0b44572..76b09c0e7 100644 --- a/zebra/rtadv.c +++ b/zebra/rtadv.c @@ -926,7 +926,7 @@ DEFUN (ipv6_nd_ra_interval_msec, 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); @@ -962,7 +962,7 @@ DEFUN (ipv6_nd_ra_interval, 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); @@ -1024,7 +1024,7 @@ DEFUN (ipv6_nd_ra_lifetime, 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, @@ -1069,7 +1069,7 @@ DEFUN (ipv6_nd_reachable_time, 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; } @@ -1101,7 +1101,7 @@ DEFUN (ipv6_nd_homeagent_preference, 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; } @@ -1133,7 +1133,7 @@ DEFUN (ipv6_nd_homeagent_lifetime, 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; } @@ -1454,7 +1454,7 @@ DEFUN (ipv6_nd_mtu, 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; } diff --git a/zebra/zebra_routemap.c b/zebra/zebra_routemap.c index 6ec43e592..b09a45303 100644 --- a/zebra/zebra_routemap.c +++ b/zebra/zebra_routemap.c @@ -419,7 +419,7 @@ DEFUN (zebra_route_map_timer, 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); diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c index 88778e491..ff260b497 100644 --- a/zebra/zebra_vty.c +++ b/zebra/zebra_vty.c @@ -106,7 +106,7 @@ zebra_static_ipv4 (struct vty *vty, safi_t safi, int add_cmd, /* 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); @@ -1402,7 +1402,7 @@ DEFUN (show_ip_route, } 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)) { @@ -1443,7 +1443,7 @@ DEFUN (show_ip_route, 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) { @@ -2031,7 +2031,7 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str, /* 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. */ @@ -2607,7 +2607,7 @@ DEFUN (show_ipv6_route, } 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)) { @@ -3098,14 +3098,14 @@ DEFUN (ip_zebra_import_table_distance, { 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)) { @@ -3141,7 +3141,7 @@ DEFUN (no_ip_zebra_import_table, "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)) {