]> git.puffer.fish Git - matthieu/frr.git/commitdiff
ripd: add 'int idx_foo' argv index variables
authorDaniel Walton <dwalton@cumulusnetworks.com>
Fri, 23 Sep 2016 20:06:40 +0000 (20:06 +0000)
committerDaniel Walton <dwalton@cumulusnetworks.com>
Fri, 23 Sep 2016 20:06:40 +0000 (20:06 +0000)
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
ripd/rip_debug.c
ripd/rip_interface.c
ripd/rip_offset.c
ripd/rip_routemap.c
ripd/rip_zebra.c
ripd/ripd.c
tools/argv_translator.py

index 3566d28ffa8be8b1f59d2dc67ea4ffc85e0a17e7..fbf2262b8c88dbd586b086846420770c5d7cd2c3 100644 (file)
@@ -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;
index 4ad750304e1d88ea7c981af7a5b0fe7cfd9526b6..036edeac8b7126a2e47a7fbf1b639e1cc90b84bc 100644 (file)
@@ -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;
index f57c6684e4ef0af45f17c34e7ccbad435ecfeb08..5e0e71579a44268e8a142fe93b4542a35033e686 100644 (file)
@@ -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
index 35e869172cb8b1ece660da9cbe7cbca49fa954f8..e16f2d941b750e5f1b20d8243f776103ae40ed6d 100644 (file)
@@ -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);
 }
 
 /*
index 56f4623f3fb7a81b296a7423364991f1418a80ec..3596938bbf10a5fc9e42ba4e1ac878ce2972c915 100644 (file)
@@ -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;
index 9fa11ef9aba137ff32297d3a3261575482832bc5..a7f35de276453eb4633c4d1d6da934bb141ca66f 100644 (file)
@@ -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;
 }
 
index c874e0e4bb5530d1442e63966e27dc9bfc02e9aa..b637cf69f9a5dd9ffecc97f3398110d4e2c9ef86 100755 (executable)
@@ -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'