summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ripd/rip_debug.c10
-rw-r--r--ripd/rip_interface.c49
-rw-r--r--ripd/rip_offset.c22
-rw-r--r--ripd/rip_routemap.c32
-rw-r--r--ripd/rip_zebra.c56
-rw-r--r--ripd/ripd.c48
-rwxr-xr-xtools/argv_translator.py9
7 files changed, 149 insertions, 77 deletions
diff --git a/ripd/rip_debug.c b/ripd/rip_debug.c
index 3566d28ff..fbf2262b8 100644
--- a/ripd/rip_debug.c
+++ b/ripd/rip_debug.c
@@ -97,10 +97,11 @@ DEFUN (debug_rip_packet_direct,
"RIP receive packet\n"
"RIP send packet\n")
{
+ int idx_recv_send = 3;
rip_debug_packet |= RIP_DEBUG_PACKET;
- if (strncmp ("send", argv[3]->arg, strlen (argv[3]->arg)) == 0)
+ if (strncmp ("send", argv[idx_recv_send]->arg, strlen (argv[idx_recv_send]->arg)) == 0)
rip_debug_packet |= RIP_DEBUG_SEND;
- if (strncmp ("recv", argv[3]->arg, strlen (argv[3]->arg)) == 0)
+ if (strncmp ("recv", argv[idx_recv_send]->arg, strlen (argv[idx_recv_send]->arg)) == 0)
rip_debug_packet |= RIP_DEBUG_RECV;
return CMD_SUCCESS;
}
@@ -150,14 +151,15 @@ DEFUN (no_debug_rip_packet_direct,
"RIP option set for receive packet\n"
"RIP option set for send packet\n")
{
- if (strncmp ("send", argv[4]->arg, strlen (argv[4]->arg)) == 0)
+ int idx_recv_send = 4;
+ if (strncmp ("send", argv[idx_recv_send]->arg, strlen (argv[idx_recv_send]->arg)) == 0)
{
if (IS_RIP_DEBUG_RECV)
rip_debug_packet &= ~RIP_DEBUG_SEND;
else
rip_debug_packet = 0;
}
- else if (strncmp ("recv", argv[4]->arg, strlen (argv[4]->arg)) == 0)
+ else if (strncmp ("recv", argv[idx_recv_send]->arg, strlen (argv[idx_recv_send]->arg)) == 0)
{
if (IS_RIP_DEBUG_SEND)
rip_debug_packet &= ~RIP_DEBUG_RECV;
diff --git a/ripd/rip_interface.c b/ripd/rip_interface.c
index 4ad750304..036edeac8 100644
--- a/ripd/rip_interface.c
+++ b/ripd/rip_interface.c
@@ -1225,19 +1225,20 @@ DEFUN (rip_network,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Interface name\n")
{
+ int idx_ipv4_word = 1;
int ret;
struct prefix_ipv4 p;
- ret = str2prefix_ipv4 (argv[1]->arg, &p);
+ ret = str2prefix_ipv4 (argv[idx_ipv4_word]->arg, &p);
if (ret)
ret = rip_enable_network_add ((struct prefix *) &p);
else
- ret = rip_enable_if_add (argv[1]->arg);
+ ret = rip_enable_if_add (argv[idx_ipv4_word]->arg);
if (ret < 0)
{
- vty_out (vty, "There is a same network configuration %s%s", argv[1]->arg,
+ vty_out (vty, "There is a same network configuration %s%s", argv[idx_ipv4_word]->arg,
VTY_NEWLINE);
return CMD_WARNING;
}
@@ -1254,19 +1255,20 @@ DEFUN (no_rip_network,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Interface name\n")
{
+ int idx_ipv4_word = 2;
int ret;
struct prefix_ipv4 p;
- ret = str2prefix_ipv4 (argv[2]->arg, &p);
+ ret = str2prefix_ipv4 (argv[idx_ipv4_word]->arg, &p);
if (ret)
ret = rip_enable_network_delete ((struct prefix *) &p);
else
- ret = rip_enable_if_delete (argv[2]->arg);
+ ret = rip_enable_if_delete (argv[idx_ipv4_word]->arg);
if (ret < 0)
{
- vty_out (vty, "Can't find network configuration %s%s", argv[2]->arg,
+ vty_out (vty, "Can't find network configuration %s%s", argv[idx_ipv4_word]->arg,
VTY_NEWLINE);
return CMD_WARNING;
}
@@ -1281,10 +1283,11 @@ DEFUN (rip_neighbor,
"Specify a neighbor router\n"
"Neighbor address\n")
{
+ int idx_ipv4 = 1;
int ret;
struct prefix_ipv4 p;
- ret = str2prefix_ipv4 (argv[1]->arg, &p);
+ ret = str2prefix_ipv4 (argv[idx_ipv4]->arg, &p);
if (ret <= 0)
{
@@ -1305,10 +1308,11 @@ DEFUN (no_rip_neighbor,
"Specify a neighbor router\n"
"Neighbor address\n")
{
+ int idx_ipv4 = 2;
int ret;
struct prefix_ipv4 p;
- ret = str2prefix_ipv4 (argv[2]->arg, &p);
+ ret = str2prefix_ipv4 (argv[idx_ipv4]->arg, &p);
if (ret <= 0)
{
@@ -1331,6 +1335,7 @@ DEFUN (ip_rip_receive_version,
"RIP version 1\n"
"RIP version 2\n")
{
+ int idx_type = 4;
struct interface *ifp;
struct rip_interface *ri;
@@ -1338,12 +1343,12 @@ DEFUN (ip_rip_receive_version,
ri = ifp->info;
/* Version 1. */
- if (atoi (argv[4]->arg) == 1)
+ if (atoi (argv[idx_type]->arg) == 1)
{
ri->ri_receive = RI_RIP_VERSION_1;
return CMD_SUCCESS;
}
- if (atoi (argv[4]->arg) == 2)
+ if (atoi (argv[idx_type]->arg) == 2)
{
ri->ri_receive = RI_RIP_VERSION_2;
return CMD_SUCCESS;
@@ -1435,6 +1440,7 @@ DEFUN (ip_rip_send_version,
"RIP version 1\n"
"RIP version 2\n")
{
+ int idx_type = 4;
struct interface *ifp;
struct rip_interface *ri;
@@ -1442,12 +1448,12 @@ DEFUN (ip_rip_send_version,
ri = ifp->info;
/* Version 1. */
- if (atoi (argv[4]->arg) == 1)
+ if (atoi (argv[idx_type]->arg) == 1)
{
ri->ri_send = RI_RIP_VERSION_1;
return CMD_SUCCESS;
}
- if (atoi (argv[4]->arg) == 2)
+ if (atoi (argv[idx_type]->arg) == 2)
{
ri->ri_send = RI_RIP_VERSION_2;
return CMD_SUCCESS;
@@ -1553,6 +1559,7 @@ DEFUN (ip_rip_authentication_mode,
"Keyed message digest\n"
"Clear text authentication\n")
{
+ int idx_encryption = 4;
struct interface *ifp;
struct rip_interface *ri;
int auth_type;
@@ -1566,9 +1573,9 @@ DEFUN (ip_rip_authentication_mode,
return CMD_WARNING;
}
- if (strncmp ("md5", argv[4]->arg, strlen (argv[4]->arg)) == 0)
+ if (strncmp ("md5", argv[idx_encryption]->arg, strlen (argv[idx_encryption]->arg)) == 0)
auth_type = RIP_AUTH_MD5;
- else if (strncmp ("text", argv[4]->arg, strlen (argv[4]->arg)) == 0)
+ else if (strncmp ("text", argv[idx_encryption]->arg, strlen (argv[idx_encryption]->arg)) == 0)
auth_type = RIP_AUTH_SIMPLE_PASSWORD;
else
{
@@ -1657,13 +1664,14 @@ DEFUN (ip_rip_authentication_string,
"Authentication string\n"
"Authentication string\n")
{
+ int idx_line = 4;
struct interface *ifp;
struct rip_interface *ri;
ifp = (struct interface *)vty->index;
ri = ifp->info;
- if (strlen (argv[4]->arg) > 16)
+ if (strlen (argv[idx_line]->arg) > 16)
{
vty_out (vty, "%% RIPv2 authentication string must be shorter than 16%s",
VTY_NEWLINE);
@@ -1679,7 +1687,7 @@ DEFUN (ip_rip_authentication_string,
if (ri->auth_str)
free (ri->auth_str);
- ri->auth_str = strdup (argv[4]->arg);
+ ri->auth_str = strdup (argv[idx_line]->arg);
return CMD_SUCCESS;
}
@@ -1728,6 +1736,7 @@ DEFUN (ip_rip_authentication_key_chain,
"Authentication key-chain\n"
"name of key-chain\n")
{
+ int idx_line = 4;
struct interface *ifp;
struct rip_interface *ri;
@@ -1744,7 +1753,7 @@ DEFUN (ip_rip_authentication_key_chain,
if (ri->key_chain)
free (ri->key_chain);
- ri->key_chain = strdup (argv[4]->arg);
+ ri->key_chain = strdup (argv[idx_line]->arg);
return CMD_SUCCESS;
}
@@ -1878,7 +1887,8 @@ DEFUN (rip_passive_interface,
"Interface name\n"
"default for all interfaces\n")
{
- const char *ifname = argv[1]->arg;
+ int idx_ifname = 1;
+ const char *ifname = argv[idx_ifname]->arg;
if (!strcmp(ifname,"default")) {
passive_default = 1;
@@ -1899,7 +1909,8 @@ DEFUN (no_rip_passive_interface,
"Interface name\n"
"default for all interfaces\n")
{
- const char *ifname = argv[2]->arg;
+ int idx_ifname = 2;
+ const char *ifname = argv[idx_ifname]->arg;
if (!strcmp(ifname,"default")) {
passive_default = 0;
diff --git a/ripd/rip_offset.c b/ripd/rip_offset.c
index f57c6684e..5e0e71579 100644
--- a/ripd/rip_offset.c
+++ b/ripd/rip_offset.c
@@ -289,7 +289,10 @@ DEFUN (rip_offset_list,
"For outgoing updates\n"
"Metric value\n")
{
- return rip_offset_list_set (vty, argv[1]->arg, argv[2]->arg, argv[3]->arg, NULL);
+ int idx_word = 1;
+ int idx_in_out = 2;
+ int idx_number = 3;
+ return rip_offset_list_set (vty, argv[idx_word]->arg, argv[idx_in_out]->arg, argv[idx_number]->arg, NULL);
}
DEFUN (rip_offset_list_ifname,
@@ -302,7 +305,11 @@ DEFUN (rip_offset_list_ifname,
"Metric value\n"
"Interface to match\n")
{
- return rip_offset_list_set (vty, argv[1]->arg, argv[2]->arg, argv[3]->arg, argv[4]->arg);
+ int idx_word = 1;
+ int idx_in_out = 2;
+ int idx_number = 3;
+ int idx_ifname = 4;
+ return rip_offset_list_set (vty, argv[idx_word]->arg, argv[idx_in_out]->arg, argv[idx_number]->arg, argv[idx_ifname]->arg);
}
DEFUN (no_rip_offset_list,
@@ -315,7 +322,10 @@ DEFUN (no_rip_offset_list,
"For outgoing updates\n"
"Metric value\n")
{
- return rip_offset_list_unset (vty, argv[2]->arg, argv[3]->arg, argv[4]->arg, NULL);
+ int idx_word = 2;
+ int idx_in_out = 3;
+ int idx_number = 4;
+ return rip_offset_list_unset (vty, argv[idx_word]->arg, argv[idx_in_out]->arg, argv[idx_number]->arg, NULL);
}
DEFUN (no_rip_offset_list_ifname,
@@ -329,7 +339,11 @@ DEFUN (no_rip_offset_list_ifname,
"Metric value\n"
"Interface to match\n")
{
- return rip_offset_list_unset (vty, argv[2]->arg, argv[3]->arg, argv[4]->arg, argv[5]->arg);
+ int idx_word = 2;
+ int idx_in_out = 3;
+ int idx_number = 4;
+ int idx_ifname = 5;
+ return rip_offset_list_unset (vty, argv[idx_word]->arg, argv[idx_in_out]->arg, argv[idx_number]->arg, argv[idx_ifname]->arg);
}
static int
diff --git a/ripd/rip_routemap.c b/ripd/rip_routemap.c
index 35e869172..e16f2d941 100644
--- a/ripd/rip_routemap.c
+++ b/ripd/rip_routemap.c
@@ -742,7 +742,8 @@ DEFUN (match_metric,
"Match metric of route\n"
"Metric value\n")
{
- return rip_route_match_add (vty, vty->index, "metric", argv[2]->arg);
+ int idx_number = 2;
+ return rip_route_match_add (vty, vty->index, "metric", argv[idx_number]->arg);
}
/*
@@ -772,7 +773,8 @@ DEFUN (match_interface,
"Match first hop interface of route\n"
"Interface name\n")
{
- return rip_route_match_add (vty, vty->index, "interface", argv[2]->arg);
+ int idx_word = 2;
+ return rip_route_match_add (vty, vty->index, "interface", argv[idx_word]->arg);
}
/*
@@ -805,7 +807,8 @@ DEFUN (match_ip_next_hop,
"IP access-list number (expanded range)\n"
"IP Access-list name\n")
{
- return rip_route_match_add (vty, vty->index, "ip next-hop", argv[3]->arg);
+ int idx_acl = 3;
+ return rip_route_match_add (vty, vty->index, "ip next-hop", argv[idx_acl]->arg);
}
/*
@@ -841,7 +844,8 @@ DEFUN (match_ip_next_hop_prefix_list,
"Match entries of prefix-lists\n"
"IP prefix-list name\n")
{
- return rip_route_match_add (vty, vty->index, "ip next-hop prefix-list", argv[4]->arg);
+ int idx_word = 4;
+ return rip_route_match_add (vty, vty->index, "ip next-hop prefix-list", argv[idx_word]->arg);
}
/*
@@ -879,7 +883,8 @@ DEFUN (match_ip_address,
"IP Access-list name\n")
{
- return rip_route_match_add (vty, vty->index, "ip address", argv[3]->arg);
+ int idx_acl = 3;
+ return rip_route_match_add (vty, vty->index, "ip address", argv[idx_acl]->arg);
}
/*
@@ -915,7 +920,8 @@ DEFUN (match_ip_address_prefix_list,
"Match entries of prefix-lists\n"
"IP prefix-list name\n")
{
- return rip_route_match_add (vty, vty->index, "ip address prefix-list", argv[4]->arg);
+ int idx_word = 4;
+ return rip_route_match_add (vty, vty->index, "ip address prefix-list", argv[idx_word]->arg);
}
/*
@@ -949,7 +955,8 @@ DEFUN (match_tag,
"Match tag of route\n"
"Metric value\n")
{
- return rip_route_match_add (vty, vty->index, "tag", argv[2]->arg);
+ int idx_number = 2;
+ return rip_route_match_add (vty, vty->index, "tag", argv[idx_number]->arg);
}
/*
@@ -989,7 +996,8 @@ DEFUN (set_metric,
"Metric value for destination routing protocol\n"
"Metric value\n")
{
- return rip_route_set_add (vty, vty->index, "metric", argv[2]->arg);
+ int idx_number = 2;
+ return rip_route_set_add (vty, vty->index, "metric", argv[idx_number]->arg);
}
@@ -1028,10 +1036,11 @@ DEFUN (set_ip_nexthop,
"Next hop address\n"
"IP address of next hop\n")
{
+ int idx_ipv4 = 3;
union sockunion su;
int ret;
- ret = str2sockunion (argv[3]->arg, &su);
+ ret = str2sockunion (argv[idx_ipv4]->arg, &su);
if (ret < 0)
{
vty_out (vty, "%% Malformed next-hop address%s", VTY_NEWLINE);
@@ -1045,7 +1054,7 @@ DEFUN (set_ip_nexthop,
return CMD_WARNING;
}
- return rip_route_set_add (vty, vty->index, "ip next-hop", argv[3]->arg);
+ return rip_route_set_add (vty, vty->index, "ip next-hop", argv[idx_ipv4]->arg);
}
/*
@@ -1077,7 +1086,8 @@ DEFUN (set_tag,
"Tag value for routing protocol\n"
"Tag value\n")
{
- return rip_route_set_add (vty, vty->index, "tag", argv[2]->arg);
+ int idx_number = 2;
+ return rip_route_set_add (vty, vty->index, "tag", argv[idx_number]->arg);
}
/*
diff --git a/ripd/rip_zebra.c b/ripd/rip_zebra.c
index 56f4623f3..3596938bb 100644
--- a/ripd/rip_zebra.c
+++ b/ripd/rip_zebra.c
@@ -417,20 +417,22 @@ DEFUN (rip_redistribute_type_routemap,
"Route map reference\n"
"Pointer to route-map entries\n")
{
+ int idx_protocol = 1;
+ int idx_word = 3;
int i;
for (i = 0; redist_type[i].str; i++) {
- if (strncmp(redist_type[i].str, argv[1]->arg,
+ if (strncmp(redist_type[i].str, argv[idx_protocol]->arg,
redist_type[i].str_min_len) == 0)
{
- rip_routemap_set (redist_type[i].type, argv[3]->arg);
+ rip_routemap_set (redist_type[i].type, argv[idx_word]->arg);
zclient_redistribute (ZEBRA_REDISTRIBUTE_ADD, zclient, AFI_IP,
redist_type[i].type, 0, VRF_DEFAULT);
return CMD_SUCCESS;
}
}
- vty_out(vty, "Invalid type %s%s", argv[1]->arg,
+ vty_out(vty, "Invalid type %s%s", argv[idx_protocol]->arg,
VTY_NEWLINE);
return CMD_WARNING;
@@ -445,21 +447,23 @@ DEFUN (no_rip_redistribute_type_routemap,
"Route map reference\n"
"Pointer to route-map entries\n")
{
+ int idx_protocol = 2;
+ int idx_word = 4;
int i;
for (i = 0; redist_type[i].str; i++)
{
- if (strncmp(redist_type[i].str, argv[2]->arg,
+ if (strncmp(redist_type[i].str, argv[idx_protocol]->arg,
redist_type[i].str_min_len) == 0)
{
- if (rip_routemap_unset (redist_type[i].type,argv[4]->arg))
+ if (rip_routemap_unset (redist_type[i].type,argv[idx_word]->arg))
return CMD_WARNING;
rip_redistribute_unset (redist_type[i].type);
return CMD_SUCCESS;
}
}
- vty_out(vty, "Invalid type %s%s", argv[2]->arg,
+ vty_out(vty, "Invalid type %s%s", argv[idx_protocol]->arg,
VTY_NEWLINE);
return CMD_WARNING;
@@ -473,13 +477,15 @@ DEFUN (rip_redistribute_type_metric,
"Metric\n"
"Metric value\n")
{
+ int idx_protocol = 1;
+ int idx_number = 3;
int i;
int metric;
- metric = atoi (argv[3]->arg);
+ metric = atoi (argv[idx_number]->arg);
for (i = 0; redist_type[i].str; i++) {
- if (strncmp(redist_type[i].str, argv[1]->arg,
+ if (strncmp(redist_type[i].str, argv[idx_protocol]->arg,
redist_type[i].str_min_len) == 0)
{
rip_redistribute_metric_set (redist_type[i].type, metric);
@@ -489,7 +495,7 @@ DEFUN (rip_redistribute_type_metric,
}
}
- vty_out(vty, "Invalid type %s%s", argv[1]->arg,
+ vty_out(vty, "Invalid type %s%s", argv[idx_protocol]->arg,
VTY_NEWLINE);
return CMD_WARNING;
@@ -504,21 +510,23 @@ DEFUN (no_rip_redistribute_type_metric,
"Metric\n"
"Metric value\n")
{
+ int idx_protocol = 2;
+ int idx_number = 4;
int i;
for (i = 0; redist_type[i].str; i++)
{
- if (strncmp(redist_type[i].str, argv[2]->arg,
+ if (strncmp(redist_type[i].str, argv[idx_protocol]->arg,
redist_type[i].str_min_len) == 0)
{
- if (rip_metric_unset (redist_type[i].type, atoi(argv[4]->arg)))
+ if (rip_metric_unset (redist_type[i].type, atoi(argv[idx_number]->arg)))
return CMD_WARNING;
rip_redistribute_unset (redist_type[i].type);
return CMD_SUCCESS;
}
}
- vty_out(vty, "Invalid type %s%s", argv[2]->arg,
+ vty_out(vty, "Invalid type %s%s", argv[idx_protocol]->arg,
VTY_NEWLINE);
return CMD_WARNING;
@@ -534,24 +542,27 @@ DEFUN (rip_redistribute_type_metric_routemap,
"Route map reference\n"
"Pointer to route-map entries\n")
{
+ int idx_protocol = 1;
+ int idx_number = 3;
+ int idx_word = 5;
int i;
int metric;
- metric = atoi (argv[3]->arg);
+ metric = atoi (argv[idx_number]->arg);
for (i = 0; redist_type[i].str; i++) {
- if (strncmp(redist_type[i].str, argv[1]->arg,
+ if (strncmp(redist_type[i].str, argv[idx_protocol]->arg,
redist_type[i].str_min_len) == 0)
{
rip_redistribute_metric_set (redist_type[i].type, metric);
- rip_routemap_set (redist_type[i].type, argv[5]->arg);
+ rip_routemap_set (redist_type[i].type, argv[idx_word]->arg);
zclient_redistribute (ZEBRA_REDISTRIBUTE_ADD, zclient, AFI_IP,
redist_type[i].type, 0, VRF_DEFAULT);
return CMD_SUCCESS;
}
}
- vty_out(vty, "Invalid type %s%s", argv[1]->arg,
+ vty_out(vty, "Invalid type %s%s", argv[idx_protocol]->arg,
VTY_NEWLINE);
return CMD_WARNING;
@@ -569,18 +580,21 @@ DEFUN (no_rip_redistribute_type_metric_routemap,
"Route map reference\n"
"Pointer to route-map entries\n")
{
+ int idx_protocol = 2;
+ int idx_number = 4;
+ int idx_word = 6;
int i;
for (i = 0; redist_type[i].str; i++)
{
- if (strncmp(redist_type[i].str, argv[2]->arg,
+ if (strncmp(redist_type[i].str, argv[idx_protocol]->arg,
redist_type[i].str_min_len) == 0)
{
- if (rip_metric_unset (redist_type[i].type, atoi(argv[4]->arg)))
+ if (rip_metric_unset (redist_type[i].type, atoi(argv[idx_number]->arg)))
return CMD_WARNING;
- if (rip_routemap_unset (redist_type[i].type, argv[6]->arg))
+ if (rip_routemap_unset (redist_type[i].type, argv[idx_word]->arg))
{
- rip_redistribute_metric_set(redist_type[i].type, atoi(argv[4]->arg));
+ rip_redistribute_metric_set(redist_type[i].type, atoi(argv[idx_number]->arg));
return CMD_WARNING;
}
rip_redistribute_unset (redist_type[i].type);
@@ -588,7 +602,7 @@ DEFUN (no_rip_redistribute_type_metric_routemap,
}
}
- vty_out(vty, "Invalid type %s%s", argv[2]->arg,
+ vty_out(vty, "Invalid type %s%s", argv[idx_protocol]->arg,
VTY_NEWLINE);
return CMD_WARNING;
diff --git a/ripd/ripd.c b/ripd/ripd.c
index 9fa11ef9a..a7f35de27 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -2947,9 +2947,10 @@ DEFUN (rip_version,
"Set routing protocol version\n"
"version\n")
{
+ int idx_number = 1;
int version;
- version = atoi (argv[1]->arg);
+ version = atoi (argv[idx_number]->arg);
if (version != RIPv1 && version != RIPv2)
{
vty_out (vty, "invalid rip version %d%s", version,
@@ -2960,7 +2961,7 @@ DEFUN (rip_version,
rip->version_recv = version;
return CMD_SUCCESS;
-}
+}
/*
* CHECK ME - The following ALIASes need to be implemented in this DEFUN
@@ -2981,7 +2982,7 @@ DEFUN (no_rip_version,
rip->version_recv = RI_RIP_VERSION_1_AND_2;
return CMD_SUCCESS;
-}
+}
DEFUN (rip_route,
@@ -2990,11 +2991,12 @@ DEFUN (rip_route,
"RIP static route configuration\n"
"IP prefix <network>/<length>\n")
{
+ int idx_ipv4_prefixlen = 1;
int ret;
struct prefix_ipv4 p;
struct route_node *node;
- ret = str2prefix_ipv4 (argv[1]->arg, &p);
+ ret = str2prefix_ipv4 (argv[idx_ipv4_prefixlen]->arg, &p);
if (ret < 0)
{
vty_out (vty, "Malformed address%s", VTY_NEWLINE);
@@ -3026,11 +3028,12 @@ DEFUN (no_rip_route,
"RIP static route configuration\n"
"IP prefix <network>/<length>\n")
{
+ int idx_ipv4_prefixlen = 2;
int ret;
struct prefix_ipv4 p;
struct route_node *node;
- ret = str2prefix_ipv4 (argv[2]->arg, &p);
+ ret = str2prefix_ipv4 (argv[idx_ipv4_prefixlen]->arg, &p);
if (ret < 0)
{
vty_out (vty, "Malformed address%s", VTY_NEWLINE);
@@ -3042,7 +3045,7 @@ DEFUN (no_rip_route,
node = route_node_lookup (rip->route, (struct prefix *) &p);
if (! node)
{
- vty_out (vty, "Can't find route %s.%s", argv[2]->arg,
+ vty_out (vty, "Can't find route %s.%s", argv[idx_ipv4_prefixlen]->arg,
VTY_NEWLINE);
return CMD_WARNING;
}
@@ -3079,9 +3082,10 @@ DEFUN (rip_default_metric,
"Set a metric of redistribute routes\n"
"Default metric\n")
{
+ int idx_number = 1;
if (rip)
{
- rip->default_metric = atoi (argv[1]->arg);
+ rip->default_metric = atoi (argv[idx_number]->arg);
/* rip_update_default_metric (); */
}
return CMD_SUCCESS;
@@ -3120,6 +3124,9 @@ DEFUN (rip_timers,
"Routing information timeout timer. Default is 180.\n"
"Garbage collection timer. Default is 120.\n")
{
+ int idx_number = 2;
+ int idx_number_2 = 3;
+ int idx_number_3 = 4;
unsigned long update;
unsigned long timeout;
unsigned long garbage;
@@ -3127,21 +3134,21 @@ DEFUN (rip_timers,
unsigned long RIP_TIMER_MAX = 2147483647;
unsigned long RIP_TIMER_MIN = 5;
- update = strtoul (argv[2]->arg, &endptr, 10);
+ update = strtoul (argv[idx_number]->arg, &endptr, 10);
if (update > RIP_TIMER_MAX || update < RIP_TIMER_MIN || *endptr != '\0')
{
vty_out (vty, "update timer value error%s", VTY_NEWLINE);
return CMD_WARNING;
}
- timeout = strtoul (argv[3]->arg, &endptr, 10);
+ timeout = strtoul (argv[idx_number_2]->arg, &endptr, 10);
if (timeout > RIP_TIMER_MAX || timeout < RIP_TIMER_MIN || *endptr != '\0')
{
vty_out (vty, "timeout timer value error%s", VTY_NEWLINE);
return CMD_WARNING;
}
- garbage = strtoul (argv[4]->arg, &endptr, 10);
+ garbage = strtoul (argv[idx_number_3]->arg, &endptr, 10);
if (garbage > RIP_TIMER_MAX || garbage < RIP_TIMER_MIN || *endptr != '\0')
{
vty_out (vty, "garbage timer value error%s", VTY_NEWLINE);
@@ -3392,7 +3399,8 @@ DEFUN (rip_distance,
"Administrative distance\n"
"Distance value\n")
{
- rip->distance = atoi (argv[1]->arg);
+ int idx_number = 1;
+ rip->distance = atoi (argv[idx_number]->arg);
return CMD_SUCCESS;
}
@@ -3414,7 +3422,9 @@ DEFUN (rip_distance_source,
"Distance value\n"
"IP source prefix\n")
{
- rip_distance_set (vty, argv[1]->arg, argv[2]->arg, NULL);
+ int idx_number = 1;
+ int idx_ipv4_prefixlen = 2;
+ rip_distance_set (vty, argv[idx_number]->arg, argv[idx_ipv4_prefixlen]->arg, NULL);
return CMD_SUCCESS;
}
@@ -3426,7 +3436,9 @@ DEFUN (no_rip_distance_source,
"Distance value\n"
"IP source prefix\n")
{
- rip_distance_unset (vty, argv[2]->arg, argv[3]->arg, NULL);
+ int idx_number = 2;
+ int idx_ipv4_prefixlen = 3;
+ rip_distance_unset (vty, argv[idx_number]->arg, argv[idx_ipv4_prefixlen]->arg, NULL);
return CMD_SUCCESS;
}
@@ -3438,7 +3450,10 @@ DEFUN (rip_distance_source_access_list,
"IP source prefix\n"
"Access list name\n")
{
- rip_distance_set (vty, argv[1]->arg, argv[2]->arg, argv[3]->arg);
+ int idx_number = 1;
+ int idx_ipv4_prefixlen = 2;
+ int idx_word = 3;
+ rip_distance_set (vty, argv[idx_number]->arg, argv[idx_ipv4_prefixlen]->arg, argv[idx_word]->arg);
return CMD_SUCCESS;
}
@@ -3451,7 +3466,10 @@ DEFUN (no_rip_distance_source_access_list,
"IP source prefix\n"
"Access list name\n")
{
- rip_distance_unset (vty, argv[2]->arg, argv[3]->arg, argv[4]->arg);
+ int idx_number = 2;
+ int idx_ipv4_prefixlen = 3;
+ int idx_word = 4;
+ rip_distance_unset (vty, argv[idx_number]->arg, argv[idx_ipv4_prefixlen]->arg, argv[idx_word]->arg);
return CMD_SUCCESS;
}
diff --git a/tools/argv_translator.py b/tools/argv_translator.py
index c874e0e4b..b637cf69f 100755
--- a/tools/argv_translator.py
+++ b/tools/argv_translator.py
@@ -292,10 +292,10 @@ def get_token_index_variable_name(line_number, token):
elif token == 'both|send|receive' or token == 'send|recv':
return 'idx_send_recv'
- elif token == 'both|extended|standard':
+ elif token == 'both|extended|standard' or token == '1|2':
return 'idx_type'
- elif token == 'A.B.C.D|WORD':
+ elif token == 'A.B.C.D|WORD' or token == 'A.B.C.D/M|WORD':
return 'idx_ipv4_word'
elif token == 'advertise-queue|advertised-routes|packet-queue':
@@ -316,9 +316,12 @@ def get_token_index_variable_name(line_number, token):
elif token == 'ipv4|ipv6' or token == 'ip|ipv6':
return 'idx_afi'
- elif token == 'md5|clear' or token == 'null|message-digest':
+ elif token == 'md5|clear' or token == 'null|message-digest' or token == 'md5|text':
return 'idx_encryption'
+ elif token == 'IFNAME|default':
+ return 'idx_ifname'
+
elif token == 'type-1|type-2':
return 'idx_external'