summaryrefslogtreecommitdiff
path: root/lib/plist.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plist.c')
-rw-r--r--lib/plist.c580
1 files changed, 399 insertions, 181 deletions
diff --git a/lib/plist.c b/lib/plist.c
index 6f19565688..3714969696 100644
--- a/lib/plist.c
+++ b/lib/plist.c
@@ -20,7 +20,6 @@
*/
#include <zebra.h>
-#include "lib/json.h"
#include "prefix.h"
#include "command.h"
@@ -28,9 +27,9 @@
#include "plist.h"
#include "sockunion.h"
#include "buffer.h"
-#include "stream.h"
#include "log.h"
#include "routemap.h"
+#include "lib/json.h"
#include "plist_int.h"
@@ -103,7 +102,6 @@ static struct prefix_master prefix_master_ipv4 =
PLC_MAXLEVELV4,
};
-#ifdef HAVE_IPV6
/* Static structure of IPv6 prefix-list's master. */
static struct prefix_master prefix_master_ipv6 =
{
@@ -115,7 +113,6 @@ static struct prefix_master prefix_master_ipv6 =
NULL,
PLC_MAXLEVELV6,
};
-#endif /* HAVE_IPV6*/
/* Static structure of BGP ORF prefix_list's master. */
static struct prefix_master prefix_master_orf_v4 =
@@ -412,9 +409,7 @@ void
prefix_list_add_hook (void (*func) (struct prefix_list *plist))
{
prefix_master_ipv4.add_hook = func;
-#ifdef HAVE_IPV6
prefix_master_ipv6.add_hook = func;
-#endif /* HAVE_IPV6 */
}
/* Delete hook function. */
@@ -422,9 +417,7 @@ void
prefix_list_delete_hook (void (*func) (struct prefix_list *plist))
{
prefix_master_ipv4.delete_hook = func;
-#ifdef HAVE_IPV6
prefix_master_ipv6.delete_hook = func;
-#endif /* HAVE_IPVt6 */
}
/* Calculate new sequential number. */
@@ -563,10 +556,11 @@ prefix_list_entry_delete (struct prefix_list *plist,
struct prefix_list_entry *pentry,
int update_list)
{
- prefix_list_trie_del (plist, pentry);
-
if (plist == NULL || pentry == NULL)
return;
+
+ prefix_list_trie_del (plist, pentry);
+
if (pentry->prev)
pentry->prev->next = pentry->next;
else
@@ -977,7 +971,7 @@ vty_prefix_list_install (struct vty *vty, afi_t afi, const char *name,
apply_mask_ipv6 ((struct prefix_ipv6 *) &p_tmp);
break;
- case AFI_ETHER:
+ case AFI_L2VPN:
default:
vty_out (vty, "%% Unrecognized AFI (%d)%s", afi, VTY_NEWLINE);
return CMD_WARNING;
@@ -1106,7 +1100,6 @@ vty_prefix_list_uninstall (struct vty *vty, afi_t afi, const char *name,
return CMD_WARNING;
}
}
-#ifdef HAVE_IPV6
else if (afi == AFI_IP6)
{
if (strncmp ("any", prefix, strlen (prefix)) == 0)
@@ -1124,7 +1117,6 @@ vty_prefix_list_uninstall (struct vty *vty, afi_t afi, const char *name,
return CMD_WARNING;
}
}
-#endif /* HAVE_IPV6 */
/* Lookup prefix entry. */
pentry = prefix_list_entry_lookup(plist, &p, type, seqnum, lenum, genum);
@@ -1183,8 +1175,7 @@ vty_show_prefix_entry (struct vty *vty, afi_t afi, struct prefix_list *plist,
struct prefix_list_entry *pentry;
/* Print the name of the protocol */
- if (zlog_default)
- vty_out (vty, "%s: ", zlog_proto_names[zlog_default->protocol]);
+ vty_out(vty, "%s: ", zlog_protoname());
if (dtype == normal_display)
{
@@ -1424,7 +1415,7 @@ vty_clear_prefix_list (struct vty *vty, afi_t afi, const char *name,
DEFUN (ip_prefix_list,
ip_prefix_list_cmd,
- "ip prefix-list WORD (deny|permit) (A.B.C.D/M|any)",
+ "ip prefix-list WORD <deny|permit> <A.B.C.D/M|any>",
IP_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -1433,13 +1424,16 @@ DEFUN (ip_prefix_list,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Any prefix match. Same as \"0.0.0.0/0 le 32\"\n")
{
- return vty_prefix_list_install (vty, AFI_IP, argv[0], NULL,
- argv[1], argv[2], NULL, NULL);
+ int idx_word = 2;
+ int idx_permit_deny = 3;
+ int idx_ipv4_any = 4;
+ return vty_prefix_list_install (vty, AFI_IP, argv[idx_word]->arg, NULL,
+ argv[idx_permit_deny]->arg, argv[idx_ipv4_any]->arg, NULL, NULL);
}
DEFUN (ip_prefix_list_ge,
ip_prefix_list_ge_cmd,
- "ip prefix-list WORD (deny|permit) A.B.C.D/M ge <0-32>",
+ "ip prefix-list WORD <deny|permit> A.B.C.D/M ge (0-32)",
IP_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -1449,13 +1443,17 @@ DEFUN (ip_prefix_list_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP, argv[0], NULL, argv[1],
- argv[2], argv[3], NULL);
+ int idx_word = 2;
+ int idx_permit_deny = 3;
+ int idx_ipv4_prefixlen = 4;
+ int idx_number = 6;
+ return vty_prefix_list_install (vty, AFI_IP, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, argv[idx_number]->arg, NULL);
}
DEFUN (ip_prefix_list_ge_le,
ip_prefix_list_ge_le_cmd,
- "ip prefix-list WORD (deny|permit) A.B.C.D/M ge <0-32> le <0-32>",
+ "ip prefix-list WORD <deny|permit> A.B.C.D/M ge (0-32) le (0-32)",
IP_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -1467,13 +1465,18 @@ DEFUN (ip_prefix_list_ge_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP, argv[0], NULL, argv[1],
- argv[2], argv[3], argv[4]);
+ int idx_word = 2;
+ int idx_permit_deny = 3;
+ int idx_ipv4_prefixlen = 4;
+ int idx_number = 6;
+ int idx_number_2 = 8;
+ return vty_prefix_list_install (vty, AFI_IP, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, argv[idx_number]->arg, argv[idx_number_2]->arg);
}
DEFUN (ip_prefix_list_le,
ip_prefix_list_le_cmd,
- "ip prefix-list WORD (deny|permit) A.B.C.D/M le <0-32>",
+ "ip prefix-list WORD <deny|permit> A.B.C.D/M le (0-32)",
IP_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -1483,13 +1486,17 @@ DEFUN (ip_prefix_list_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP, argv[0], NULL, argv[1],
- argv[2], NULL, argv[3]);
+ int idx_word = 2;
+ int idx_permit_deny = 3;
+ int idx_ipv4_prefixlen = 4;
+ int idx_number = 6;
+ return vty_prefix_list_install (vty, AFI_IP, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, NULL, argv[idx_number]->arg);
}
DEFUN (ip_prefix_list_le_ge,
ip_prefix_list_le_ge_cmd,
- "ip prefix-list WORD (deny|permit) A.B.C.D/M le <0-32> ge <0-32>",
+ "ip prefix-list WORD <deny|permit> A.B.C.D/M le (0-32) ge (0-32)",
IP_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -1501,13 +1508,18 @@ DEFUN (ip_prefix_list_le_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP, argv[0], NULL, argv[1],
- argv[2], argv[4], argv[3]);
+ int idx_word = 2;
+ int idx_permit_deny = 3;
+ int idx_ipv4_prefixlen = 4;
+ int idx_number = 6;
+ int idx_number_2 = 8;
+ return vty_prefix_list_install (vty, AFI_IP, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, argv[idx_number_2]->arg, argv[idx_number]->arg);
}
DEFUN (ip_prefix_list_seq,
ip_prefix_list_seq_cmd,
- "ip prefix-list WORD seq <1-4294967295> (deny|permit) (A.B.C.D/M|any)",
+ "ip prefix-list WORD seq (1-4294967295) <deny|permit> <A.B.C.D/M|any>",
IP_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -1518,13 +1530,17 @@ DEFUN (ip_prefix_list_seq,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Any prefix match. Same as \"0.0.0.0/0 le 32\"\n")
{
- return vty_prefix_list_install (vty, AFI_IP, argv[0], argv[1], argv[2],
- argv[3], NULL, NULL);
+ int idx_word = 2;
+ int idx_number = 4;
+ int idx_permit_deny = 5;
+ int idx_ipv4_any = 6;
+ return vty_prefix_list_install (vty, AFI_IP, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_any]->arg, NULL, NULL);
}
DEFUN (ip_prefix_list_seq_ge,
ip_prefix_list_seq_ge_cmd,
- "ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32>",
+ "ip prefix-list WORD seq (1-4294967295) <deny|permit> A.B.C.D/M ge (0-32)",
IP_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -1536,13 +1552,18 @@ DEFUN (ip_prefix_list_seq_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP, argv[0], argv[1], argv[2],
- argv[3], argv[4], NULL);
+ int idx_word = 2;
+ int idx_number = 4;
+ int idx_permit_deny = 5;
+ int idx_ipv4_prefixlen = 6;
+ int idx_number_2 = 8;
+ return vty_prefix_list_install (vty, AFI_IP, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, argv[idx_number_2]->arg, NULL);
}
DEFUN (ip_prefix_list_seq_ge_le,
ip_prefix_list_seq_ge_le_cmd,
- "ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32> le <0-32>",
+ "ip prefix-list WORD seq (1-4294967295) <deny|permit> A.B.C.D/M ge (0-32) le (0-32)",
IP_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -1556,13 +1577,19 @@ DEFUN (ip_prefix_list_seq_ge_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP, argv[0], argv[1], argv[2],
- argv[3], argv[4], argv[5]);
+ int idx_word = 2;
+ int idx_number = 4;
+ int idx_permit_deny = 5;
+ int idx_ipv4_prefixlen = 6;
+ int idx_number_2 = 8;
+ int idx_number_3 = 10;
+ return vty_prefix_list_install (vty, AFI_IP, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, argv[idx_number_2]->arg, argv[idx_number_3]->arg);
}
DEFUN (ip_prefix_list_seq_le,
ip_prefix_list_seq_le_cmd,
- "ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M le <0-32>",
+ "ip prefix-list WORD seq (1-4294967295) <deny|permit> A.B.C.D/M le (0-32)",
IP_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -1574,13 +1601,18 @@ DEFUN (ip_prefix_list_seq_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP, argv[0], argv[1], argv[2],
- argv[3], NULL, argv[4]);
+ int idx_word = 2;
+ int idx_number = 4;
+ int idx_permit_deny = 5;
+ int idx_ipv4_prefixlen = 6;
+ int idx_number_2 = 8;
+ return vty_prefix_list_install (vty, AFI_IP, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, NULL, argv[idx_number_2]->arg);
}
DEFUN (ip_prefix_list_seq_le_ge,
ip_prefix_list_seq_le_ge_cmd,
- "ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M le <0-32> ge <0-32>",
+ "ip prefix-list WORD seq (1-4294967295) <deny|permit> A.B.C.D/M le (0-32) ge (0-32)",
IP_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -1594,8 +1626,14 @@ DEFUN (ip_prefix_list_seq_le_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP, argv[0], argv[1], argv[2],
- argv[3], argv[5], argv[4]);
+ int idx_word = 2;
+ int idx_number = 4;
+ int idx_permit_deny = 5;
+ int idx_ipv4_prefixlen = 6;
+ int idx_number_2 = 8;
+ int idx_number_3 = 10;
+ return vty_prefix_list_install (vty, AFI_IP, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, argv[idx_number_3]->arg, argv[idx_number_2]->arg);
}
DEFUN (no_ip_prefix_list,
@@ -1606,13 +1644,14 @@ DEFUN (no_ip_prefix_list,
PREFIX_LIST_STR
"Name of a prefix list\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP, argv[0], NULL, NULL,
+ int idx_word = 3;
+ return vty_prefix_list_uninstall (vty, AFI_IP, argv[idx_word]->arg, NULL, NULL,
NULL, NULL, NULL);
}
DEFUN (no_ip_prefix_list_prefix,
no_ip_prefix_list_prefix_cmd,
- "no ip prefix-list WORD (deny|permit) (A.B.C.D/M|any)",
+ "no ip prefix-list WORD <deny|permit> <A.B.C.D/M|any>",
NO_STR
IP_STR
PREFIX_LIST_STR
@@ -1622,13 +1661,16 @@ DEFUN (no_ip_prefix_list_prefix,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Any prefix match. Same as \"0.0.0.0/0 le 32\"\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP, argv[0], NULL, argv[1],
- argv[2], NULL, NULL);
+ int idx_word = 3;
+ int idx_permit_deny = 4;
+ int idx_ipv4_any = 5;
+ return vty_prefix_list_uninstall (vty, AFI_IP, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_any]->arg, NULL, NULL);
}
DEFUN (no_ip_prefix_list_ge,
no_ip_prefix_list_ge_cmd,
- "no ip prefix-list WORD (deny|permit) A.B.C.D/M ge <0-32>",
+ "no ip prefix-list WORD <deny|permit> A.B.C.D/M ge (0-32)",
NO_STR
IP_STR
PREFIX_LIST_STR
@@ -1639,13 +1681,17 @@ DEFUN (no_ip_prefix_list_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP, argv[0], NULL, argv[1],
- argv[2], argv[3], NULL);
+ int idx_word = 3;
+ int idx_permit_deny = 4;
+ int idx_ipv4_prefixlen = 5;
+ int idx_number = 7;
+ return vty_prefix_list_uninstall (vty, AFI_IP, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, argv[idx_number]->arg, NULL);
}
DEFUN (no_ip_prefix_list_ge_le,
no_ip_prefix_list_ge_le_cmd,
- "no ip prefix-list WORD (deny|permit) A.B.C.D/M ge <0-32> le <0-32>",
+ "no ip prefix-list WORD <deny|permit> A.B.C.D/M ge (0-32) le (0-32)",
NO_STR
IP_STR
PREFIX_LIST_STR
@@ -1658,13 +1704,18 @@ DEFUN (no_ip_prefix_list_ge_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP, argv[0], NULL, argv[1],
- argv[2], argv[3], argv[4]);
+ int idx_word = 3;
+ int idx_permit_deny = 4;
+ int idx_ipv4_prefixlen = 5;
+ int idx_number = 7;
+ int idx_number_2 = 9;
+ return vty_prefix_list_uninstall (vty, AFI_IP, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, argv[idx_number]->arg, argv[idx_number_2]->arg);
}
DEFUN (no_ip_prefix_list_le,
no_ip_prefix_list_le_cmd,
- "no ip prefix-list WORD (deny|permit) A.B.C.D/M le <0-32>",
+ "no ip prefix-list WORD <deny|permit> A.B.C.D/M le (0-32)",
NO_STR
IP_STR
PREFIX_LIST_STR
@@ -1675,13 +1726,17 @@ DEFUN (no_ip_prefix_list_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP, argv[0], NULL, argv[1],
- argv[2], NULL, argv[3]);
+ int idx_word = 3;
+ int idx_permit_deny = 4;
+ int idx_ipv4_prefixlen = 5;
+ int idx_number = 7;
+ return vty_prefix_list_uninstall (vty, AFI_IP, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, NULL, argv[idx_number]->arg);
}
DEFUN (no_ip_prefix_list_le_ge,
no_ip_prefix_list_le_ge_cmd,
- "no ip prefix-list WORD (deny|permit) A.B.C.D/M le <0-32> ge <0-32>",
+ "no ip prefix-list WORD <deny|permit> A.B.C.D/M le (0-32) ge (0-32)",
NO_STR
IP_STR
PREFIX_LIST_STR
@@ -1694,13 +1749,18 @@ DEFUN (no_ip_prefix_list_le_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP, argv[0], NULL, argv[1],
- argv[2], argv[4], argv[3]);
+ int idx_word = 3;
+ int idx_permit_deny = 4;
+ int idx_ipv4_prefixlen = 5;
+ int idx_number = 7;
+ int idx_number_2 = 9;
+ return vty_prefix_list_uninstall (vty, AFI_IP, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, argv[idx_number_2]->arg, argv[idx_number]->arg);
}
DEFUN (no_ip_prefix_list_seq,
no_ip_prefix_list_seq_cmd,
- "no ip prefix-list WORD seq <1-4294967295> (deny|permit) (A.B.C.D/M|any)",
+ "no ip prefix-list WORD seq (1-4294967295) <deny|permit> <A.B.C.D/M|any>",
NO_STR
IP_STR
PREFIX_LIST_STR
@@ -1712,13 +1772,17 @@ DEFUN (no_ip_prefix_list_seq,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Any prefix match. Same as \"0.0.0.0/0 le 32\"\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP, argv[0], argv[1], argv[2],
- argv[3], NULL, NULL);
+ int idx_word = 3;
+ int idx_number = 5;
+ int idx_permit_deny = 6;
+ int idx_ipv4_any = 7;
+ return vty_prefix_list_uninstall (vty, AFI_IP, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_any]->arg, NULL, NULL);
}
DEFUN (no_ip_prefix_list_seq_ge,
no_ip_prefix_list_seq_ge_cmd,
- "no ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32>",
+ "no ip prefix-list WORD seq (1-4294967295) <deny|permit> A.B.C.D/M ge (0-32)",
NO_STR
IP_STR
PREFIX_LIST_STR
@@ -1731,13 +1795,18 @@ DEFUN (no_ip_prefix_list_seq_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP, argv[0], argv[1], argv[2],
- argv[3], argv[4], NULL);
+ int idx_word = 3;
+ int idx_number = 5;
+ int idx_permit_deny = 6;
+ int idx_ipv4_prefixlen = 7;
+ int idx_number_2 = 9;
+ return vty_prefix_list_uninstall (vty, AFI_IP, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, argv[idx_number_2]->arg, NULL);
}
DEFUN (no_ip_prefix_list_seq_ge_le,
no_ip_prefix_list_seq_ge_le_cmd,
- "no ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32> le <0-32>",
+ "no ip prefix-list WORD seq (1-4294967295) <deny|permit> A.B.C.D/M ge (0-32) le (0-32)",
NO_STR
IP_STR
PREFIX_LIST_STR
@@ -1752,13 +1821,19 @@ DEFUN (no_ip_prefix_list_seq_ge_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP, argv[0], argv[1], argv[2],
- argv[3], argv[4], argv[5]);
+ int idx_word = 3;
+ int idx_number = 5;
+ int idx_permit_deny = 6;
+ int idx_ipv4_prefixlen = 7;
+ int idx_number_2 = 9;
+ int idx_number_3 = 11;
+ return vty_prefix_list_uninstall (vty, AFI_IP, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, argv[idx_number_2]->arg, argv[idx_number_3]->arg);
}
DEFUN (no_ip_prefix_list_seq_le,
no_ip_prefix_list_seq_le_cmd,
- "no ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M le <0-32>",
+ "no ip prefix-list WORD seq (1-4294967295) <deny|permit> A.B.C.D/M le (0-32)",
NO_STR
IP_STR
PREFIX_LIST_STR
@@ -1771,13 +1846,18 @@ DEFUN (no_ip_prefix_list_seq_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP, argv[0], argv[1], argv[2],
- argv[3], NULL, argv[4]);
+ int idx_word = 3;
+ int idx_number = 5;
+ int idx_permit_deny = 6;
+ int idx_ipv4_prefixlen = 7;
+ int idx_number_2 = 9;
+ return vty_prefix_list_uninstall (vty, AFI_IP, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, NULL, argv[idx_number_2]->arg);
}
DEFUN (no_ip_prefix_list_seq_le_ge,
no_ip_prefix_list_seq_le_ge_cmd,
- "no ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M le <0-32> ge <0-32>",
+ "no ip prefix-list WORD seq (1-4294967295) <deny|permit> A.B.C.D/M le (0-32) ge (0-32)",
NO_STR
IP_STR
PREFIX_LIST_STR
@@ -1792,8 +1872,14 @@ DEFUN (no_ip_prefix_list_seq_le_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP, argv[0], argv[1], argv[2],
- argv[3], argv[5], argv[4]);
+ int idx_word = 3;
+ int idx_number = 5;
+ int idx_permit_deny = 6;
+ int idx_ipv4_prefixlen = 7;
+ int idx_number_2 = 9;
+ int idx_number_3 = 11;
+ return vty_prefix_list_uninstall (vty, AFI_IP, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv4_prefixlen]->arg, argv[idx_number_3]->arg, argv[idx_number_2]->arg);
}
DEFUN (ip_prefix_list_sequence_number,
@@ -1821,26 +1907,28 @@ DEFUN (no_ip_prefix_list_sequence_number,
DEFUN (ip_prefix_list_description,
ip_prefix_list_description_cmd,
- "ip prefix-list WORD description .LINE",
+ "ip prefix-list WORD description LINE...",
IP_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
"Prefix-list specific description\n"
"Up to 80 characters describing this prefix-list\n")
{
+ int idx_word = 2;
+ int idx_line = 4;
struct prefix_list *plist;
- plist = prefix_list_get (AFI_IP, 0, argv[0]);
+ plist = prefix_list_get (AFI_IP, 0, argv[idx_word]->arg);
if (plist->desc)
{
XFREE (MTYPE_TMP, plist->desc);
plist->desc = NULL;
}
- plist->desc = argv_concat(argv, argc, 1);
+ plist->desc = argv_concat(argv, argc, idx_line);
return CMD_SUCCESS;
-}
+}
DEFUN (no_ip_prefix_list_description,
no_ip_prefix_list_description_cmd,
@@ -1851,18 +1939,23 @@ DEFUN (no_ip_prefix_list_description,
"Name of a prefix list\n"
"Prefix-list specific description\n")
{
- return vty_prefix_list_desc_unset (vty, AFI_IP, argv[0]);
+ int idx_word = 3;
+ return vty_prefix_list_desc_unset (vty, AFI_IP, argv[idx_word]->arg);
}
-ALIAS (no_ip_prefix_list_description,
- no_ip_prefix_list_description_arg_cmd,
- "no ip prefix-list WORD description .LINE",
+/* ALIAS_FIXME */
+DEFUN (no_ip_prefix_list_description_comment,
+ no_ip_prefix_list_description_comment_cmd,
+ "no ip prefix-list WORD description LINE...",
NO_STR
IP_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
"Prefix-list specific description\n"
"Up to 80 characters describing this prefix-list\n")
+{
+ return no_ip_prefix_list_description (self, vty, argc, argv);
+}
DEFUN (show_ip_prefix_list,
show_ip_prefix_list_cmd,
@@ -1882,12 +1975,13 @@ DEFUN (show_ip_prefix_list_name,
PREFIX_LIST_STR
"Name of a prefix list\n")
{
- return vty_show_prefix_list (vty, AFI_IP, argv[0], NULL, normal_display);
+ int idx_word = 3;
+ return vty_show_prefix_list (vty, AFI_IP, argv[idx_word]->arg, NULL, normal_display);
}
DEFUN (show_ip_prefix_list_name_seq,
show_ip_prefix_list_name_seq_cmd,
- "show ip prefix-list WORD seq <1-4294967295>",
+ "show ip prefix-list WORD seq (1-4294967295)",
SHOW_STR
IP_STR
PREFIX_LIST_STR
@@ -1895,7 +1989,9 @@ DEFUN (show_ip_prefix_list_name_seq,
"sequence number of an entry\n"
"Sequence number\n")
{
- return vty_show_prefix_list (vty, AFI_IP, argv[0], argv[1], sequential_display);
+ int idx_word = 3;
+ int idx_number = 5;
+ return vty_show_prefix_list (vty, AFI_IP, argv[idx_word]->arg, argv[idx_number]->arg, sequential_display);
}
DEFUN (show_ip_prefix_list_prefix,
@@ -1907,7 +2003,9 @@ DEFUN (show_ip_prefix_list_prefix,
"Name of a prefix list\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
{
- return vty_show_prefix_list_prefix (vty, AFI_IP, argv[0], argv[1], normal_display);
+ int idx_word = 3;
+ int idx_ipv4_prefixlen = 4;
+ return vty_show_prefix_list_prefix (vty, AFI_IP, argv[idx_word]->arg, argv[idx_ipv4_prefixlen]->arg, normal_display);
}
DEFUN (show_ip_prefix_list_prefix_longer,
@@ -1920,7 +2018,9 @@ DEFUN (show_ip_prefix_list_prefix_longer,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"Lookup longer prefix\n")
{
- return vty_show_prefix_list_prefix (vty, AFI_IP, argv[0], argv[1], longer_display);
+ int idx_word = 3;
+ int idx_ipv4_prefixlen = 4;
+ return vty_show_prefix_list_prefix (vty, AFI_IP, argv[idx_word]->arg, argv[idx_ipv4_prefixlen]->arg, longer_display);
}
DEFUN (show_ip_prefix_list_prefix_first_match,
@@ -1933,7 +2033,9 @@ DEFUN (show_ip_prefix_list_prefix_first_match,
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n"
"First matched prefix\n")
{
- return vty_show_prefix_list_prefix (vty, AFI_IP, argv[0], argv[1], first_match_display);
+ int idx_word = 3;
+ int idx_ipv4_prefixlen = 4;
+ return vty_show_prefix_list_prefix (vty, AFI_IP, argv[idx_word]->arg, argv[idx_ipv4_prefixlen]->arg, first_match_display);
}
DEFUN (show_ip_prefix_list_summary,
@@ -1956,7 +2058,8 @@ DEFUN (show_ip_prefix_list_summary_name,
"Summary of prefix lists\n"
"Name of a prefix list\n")
{
- return vty_show_prefix_list (vty, AFI_IP, argv[0], NULL, summary_display);
+ int idx_word = 4;
+ return vty_show_prefix_list (vty, AFI_IP, argv[idx_word]->arg, NULL, summary_display);
}
@@ -1980,7 +2083,8 @@ DEFUN (show_ip_prefix_list_detail_name,
"Detail of prefix lists\n"
"Name of a prefix list\n")
{
- return vty_show_prefix_list (vty, AFI_IP, argv[0], NULL, detail_display);
+ int idx_word = 4;
+ return vty_show_prefix_list (vty, AFI_IP, argv[idx_word]->arg, NULL, detail_display);
}
DEFUN (clear_ip_prefix_list,
@@ -2001,7 +2105,8 @@ DEFUN (clear_ip_prefix_list_name,
PREFIX_LIST_STR
"Name of a prefix list\n")
{
- return vty_clear_prefix_list (vty, AFI_IP, argv[0], NULL);
+ int idx_word = 3;
+ return vty_clear_prefix_list (vty, AFI_IP, argv[idx_word]->arg, NULL);
}
DEFUN (clear_ip_prefix_list_name_prefix,
@@ -2013,13 +2118,14 @@ DEFUN (clear_ip_prefix_list_name_prefix,
"Name of a prefix list\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
{
- return vty_clear_prefix_list (vty, AFI_IP, argv[0], argv[1]);
+ int idx_word = 3;
+ int idx_ipv4_prefixlen = 4;
+ return vty_clear_prefix_list (vty, AFI_IP, argv[idx_word]->arg, argv[idx_ipv4_prefixlen]->arg);
}
-#ifdef HAVE_IPV6
DEFUN (ipv6_prefix_list,
ipv6_prefix_list_cmd,
- "ipv6 prefix-list WORD (deny|permit) (X:X::X:X/M|any)",
+ "ipv6 prefix-list WORD <deny|permit> <X:X::X:X/M|any>",
IPV6_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -2028,13 +2134,16 @@ DEFUN (ipv6_prefix_list,
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
"Any prefix match. Same as \"::0/0 le 128\"\n")
{
- return vty_prefix_list_install (vty, AFI_IP6, argv[0], NULL,
- argv[1], argv[2], NULL, NULL);
+ int idx_word = 2;
+ int idx_permit_deny = 3;
+ int idx_ipv6_any = 4;
+ return vty_prefix_list_install (vty, AFI_IP6, argv[idx_word]->arg, NULL,
+ argv[idx_permit_deny]->arg, argv[idx_ipv6_any]->arg, NULL, NULL);
}
DEFUN (ipv6_prefix_list_ge,
ipv6_prefix_list_ge_cmd,
- "ipv6 prefix-list WORD (deny|permit) X:X::X:X/M ge <0-128>",
+ "ipv6 prefix-list WORD <deny|permit> X:X::X:X/M ge (0-128)",
IPV6_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -2044,13 +2153,17 @@ DEFUN (ipv6_prefix_list_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP6, argv[0], NULL, argv[1],
- argv[2], argv[3], NULL);
+ int idx_word = 2;
+ int idx_permit_deny = 3;
+ int idx_ipv6_prefixlen = 4;
+ int idx_number = 6;
+ return vty_prefix_list_install (vty, AFI_IP6, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, argv[idx_number]->arg, NULL);
}
DEFUN (ipv6_prefix_list_ge_le,
ipv6_prefix_list_ge_le_cmd,
- "ipv6 prefix-list WORD (deny|permit) X:X::X:X/M ge <0-128> le <0-128>",
+ "ipv6 prefix-list WORD <deny|permit> X:X::X:X/M ge (0-128) le (0-128)",
IPV6_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -2063,13 +2176,18 @@ DEFUN (ipv6_prefix_list_ge_le,
"Maximum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP6, argv[0], NULL, argv[1],
- argv[2], argv[3], argv[4]);
+ int idx_word = 2;
+ int idx_permit_deny = 3;
+ int idx_ipv6_prefixlen = 4;
+ int idx_number = 6;
+ int idx_number_2 = 8;
+ return vty_prefix_list_install (vty, AFI_IP6, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, argv[idx_number]->arg, argv[idx_number_2]->arg);
}
DEFUN (ipv6_prefix_list_le,
ipv6_prefix_list_le_cmd,
- "ipv6 prefix-list WORD (deny|permit) X:X::X:X/M le <0-128>",
+ "ipv6 prefix-list WORD <deny|permit> X:X::X:X/M le (0-128)",
IPV6_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -2079,13 +2197,17 @@ DEFUN (ipv6_prefix_list_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP6, argv[0], NULL, argv[1],
- argv[2], NULL, argv[3]);
+ int idx_word = 2;
+ int idx_permit_deny = 3;
+ int idx_ipv6_prefixlen = 4;
+ int idx_number = 6;
+ return vty_prefix_list_install (vty, AFI_IP6, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, NULL, argv[idx_number]->arg);
}
DEFUN (ipv6_prefix_list_le_ge,
ipv6_prefix_list_le_ge_cmd,
- "ipv6 prefix-list WORD (deny|permit) X:X::X:X/M le <0-128> ge <0-128>",
+ "ipv6 prefix-list WORD <deny|permit> X:X::X:X/M le (0-128) ge (0-128)",
IPV6_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -2097,13 +2219,18 @@ DEFUN (ipv6_prefix_list_le_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP6, argv[0], NULL, argv[1],
- argv[2], argv[4], argv[3]);
+ int idx_word = 2;
+ int idx_permit_deny = 3;
+ int idx_ipv6_prefixlen = 4;
+ int idx_number = 6;
+ int idx_number_2 = 8;
+ return vty_prefix_list_install (vty, AFI_IP6, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, argv[idx_number_2]->arg, argv[idx_number]->arg);
}
DEFUN (ipv6_prefix_list_seq,
ipv6_prefix_list_seq_cmd,
- "ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) (X:X::X:X/M|any)",
+ "ipv6 prefix-list WORD seq (1-4294967295) <deny|permit> <X:X::X:X/M|any>",
IPV6_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -2114,13 +2241,17 @@ DEFUN (ipv6_prefix_list_seq,
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
"Any prefix match. Same as \"::0/0 le 128\"\n")
{
- return vty_prefix_list_install (vty, AFI_IP6, argv[0], argv[1], argv[2],
- argv[3], NULL, NULL);
+ int idx_word = 2;
+ int idx_number = 4;
+ int idx_permit_deny = 5;
+ int idx_ipv6_any = 6;
+ return vty_prefix_list_install (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_any]->arg, NULL, NULL);
}
DEFUN (ipv6_prefix_list_seq_ge,
ipv6_prefix_list_seq_ge_cmd,
- "ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M ge <0-128>",
+ "ipv6 prefix-list WORD seq (1-4294967295) <deny|permit> X:X::X:X/M ge (0-128)",
IPV6_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -2132,13 +2263,18 @@ DEFUN (ipv6_prefix_list_seq_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP6, argv[0], argv[1], argv[2],
- argv[3], argv[4], NULL);
+ int idx_word = 2;
+ int idx_number = 4;
+ int idx_permit_deny = 5;
+ int idx_ipv6_prefixlen = 6;
+ int idx_number_2 = 8;
+ return vty_prefix_list_install (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, argv[idx_number_2]->arg, NULL);
}
DEFUN (ipv6_prefix_list_seq_ge_le,
ipv6_prefix_list_seq_ge_le_cmd,
- "ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M ge <0-128> le <0-128>",
+ "ipv6 prefix-list WORD seq (1-4294967295) <deny|permit> X:X::X:X/M ge (0-128) le (0-128)",
IPV6_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -2152,13 +2288,19 @@ DEFUN (ipv6_prefix_list_seq_ge_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP6, argv[0], argv[1], argv[2],
- argv[3], argv[4], argv[5]);
+ int idx_word = 2;
+ int idx_number = 4;
+ int idx_permit_deny = 5;
+ int idx_ipv6_prefixlen = 6;
+ int idx_number_2 = 8;
+ int idx_number_3 = 10;
+ return vty_prefix_list_install (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, argv[idx_number_2]->arg, argv[idx_number_3]->arg);
}
DEFUN (ipv6_prefix_list_seq_le,
ipv6_prefix_list_seq_le_cmd,
- "ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M le <0-128>",
+ "ipv6 prefix-list WORD seq (1-4294967295) <deny|permit> X:X::X:X/M le (0-128)",
IPV6_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -2170,13 +2312,18 @@ DEFUN (ipv6_prefix_list_seq_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP6, argv[0], argv[1], argv[2],
- argv[3], NULL, argv[4]);
+ int idx_word = 2;
+ int idx_number = 4;
+ int idx_permit_deny = 5;
+ int idx_ipv6_prefixlen = 6;
+ int idx_number_2 = 8;
+ return vty_prefix_list_install (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, NULL, argv[idx_number_2]->arg);
}
DEFUN (ipv6_prefix_list_seq_le_ge,
ipv6_prefix_list_seq_le_ge_cmd,
- "ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M le <0-128> ge <0-128>",
+ "ipv6 prefix-list WORD seq (1-4294967295) <deny|permit> X:X::X:X/M le (0-128) ge (0-128)",
IPV6_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
@@ -2190,8 +2337,14 @@ DEFUN (ipv6_prefix_list_seq_le_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_install (vty, AFI_IP6, argv[0], argv[1], argv[2],
- argv[3], argv[5], argv[4]);
+ int idx_word = 2;
+ int idx_number = 4;
+ int idx_permit_deny = 5;
+ int idx_ipv6_prefixlen = 6;
+ int idx_number_2 = 8;
+ int idx_number_3 = 10;
+ return vty_prefix_list_install (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, argv[idx_number_3]->arg, argv[idx_number_2]->arg);
}
DEFUN (no_ipv6_prefix_list,
@@ -2202,13 +2355,14 @@ DEFUN (no_ipv6_prefix_list,
PREFIX_LIST_STR
"Name of a prefix list\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP6, argv[0], NULL, NULL,
+ int idx_word = 3;
+ return vty_prefix_list_uninstall (vty, AFI_IP6, argv[idx_word]->arg, NULL, NULL,
NULL, NULL, NULL);
}
DEFUN (no_ipv6_prefix_list_prefix,
no_ipv6_prefix_list_prefix_cmd,
- "no ipv6 prefix-list WORD (deny|permit) (X:X::X:X/M|any)",
+ "no ipv6 prefix-list WORD <deny|permit> <X:X::X:X/M|any>",
NO_STR
IPV6_STR
PREFIX_LIST_STR
@@ -2218,13 +2372,16 @@ DEFUN (no_ipv6_prefix_list_prefix,
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
"Any prefix match. Same as \"::0/0 le 128\"\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP6, argv[0], NULL, argv[1],
- argv[2], NULL, NULL);
+ int idx_word = 3;
+ int idx_permit_deny = 4;
+ int idx_ipv6_any = 5;
+ return vty_prefix_list_uninstall (vty, AFI_IP6, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_any]->arg, NULL, NULL);
}
DEFUN (no_ipv6_prefix_list_ge,
no_ipv6_prefix_list_ge_cmd,
- "no ipv6 prefix-list WORD (deny|permit) X:X::X:X/M ge <0-128>",
+ "no ipv6 prefix-list WORD <deny|permit> X:X::X:X/M ge (0-128)",
NO_STR
IPV6_STR
PREFIX_LIST_STR
@@ -2235,13 +2392,17 @@ DEFUN (no_ipv6_prefix_list_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP6, argv[0], NULL, argv[1],
- argv[2], argv[3], NULL);
+ int idx_word = 3;
+ int idx_permit_deny = 4;
+ int idx_ipv6_prefixlen = 5;
+ int idx_number = 7;
+ return vty_prefix_list_uninstall (vty, AFI_IP6, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, argv[idx_number]->arg, NULL);
}
DEFUN (no_ipv6_prefix_list_ge_le,
no_ipv6_prefix_list_ge_le_cmd,
- "no ipv6 prefix-list WORD (deny|permit) X:X::X:X/M ge <0-128> le <0-128>",
+ "no ipv6 prefix-list WORD <deny|permit> X:X::X:X/M ge (0-128) le (0-128)",
NO_STR
IPV6_STR
PREFIX_LIST_STR
@@ -2254,13 +2415,18 @@ DEFUN (no_ipv6_prefix_list_ge_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP6, argv[0], NULL, argv[1],
- argv[2], argv[3], argv[4]);
+ int idx_word = 3;
+ int idx_permit_deny = 4;
+ int idx_ipv6_prefixlen = 5;
+ int idx_number = 7;
+ int idx_number_2 = 9;
+ return vty_prefix_list_uninstall (vty, AFI_IP6, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, argv[idx_number]->arg, argv[idx_number_2]->arg);
}
DEFUN (no_ipv6_prefix_list_le,
no_ipv6_prefix_list_le_cmd,
- "no ipv6 prefix-list WORD (deny|permit) X:X::X:X/M le <0-128>",
+ "no ipv6 prefix-list WORD <deny|permit> X:X::X:X/M le (0-128)",
NO_STR
IPV6_STR
PREFIX_LIST_STR
@@ -2271,13 +2437,17 @@ DEFUN (no_ipv6_prefix_list_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP6, argv[0], NULL, argv[1],
- argv[2], NULL, argv[3]);
+ int idx_word = 3;
+ int idx_permit_deny = 4;
+ int idx_ipv6_prefixlen = 5;
+ int idx_number = 7;
+ return vty_prefix_list_uninstall (vty, AFI_IP6, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, NULL, argv[idx_number]->arg);
}
DEFUN (no_ipv6_prefix_list_le_ge,
no_ipv6_prefix_list_le_ge_cmd,
- "no ipv6 prefix-list WORD (deny|permit) X:X::X:X/M le <0-128> ge <0-128>",
+ "no ipv6 prefix-list WORD <deny|permit> X:X::X:X/M le (0-128) ge (0-128)",
NO_STR
IPV6_STR
PREFIX_LIST_STR
@@ -2290,13 +2460,18 @@ DEFUN (no_ipv6_prefix_list_le_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP6, argv[0], NULL, argv[1],
- argv[2], argv[4], argv[3]);
+ int idx_word = 3;
+ int idx_permit_deny = 4;
+ int idx_ipv6_prefixlen = 5;
+ int idx_number = 7;
+ int idx_number_2 = 9;
+ return vty_prefix_list_uninstall (vty, AFI_IP6, argv[idx_word]->arg, NULL, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, argv[idx_number_2]->arg, argv[idx_number]->arg);
}
DEFUN (no_ipv6_prefix_list_seq,
no_ipv6_prefix_list_seq_cmd,
- "no ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) (X:X::X:X/M|any)",
+ "no ipv6 prefix-list WORD seq (1-4294967295) <deny|permit> <X:X::X:X/M|any>",
NO_STR
IPV6_STR
PREFIX_LIST_STR
@@ -2308,13 +2483,17 @@ DEFUN (no_ipv6_prefix_list_seq,
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
"Any prefix match. Same as \"::0/0 le 128\"\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP6, argv[0], argv[1], argv[2],
- argv[3], NULL, NULL);
+ int idx_word = 3;
+ int idx_number = 5;
+ int idx_permit_deny = 6;
+ int idx_ipv6_any = 7;
+ return vty_prefix_list_uninstall (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_any]->arg, NULL, NULL);
}
DEFUN (no_ipv6_prefix_list_seq_ge,
no_ipv6_prefix_list_seq_ge_cmd,
- "no ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M ge <0-128>",
+ "no ipv6 prefix-list WORD seq (1-4294967295) <deny|permit> X:X::X:X/M ge (0-128)",
NO_STR
IPV6_STR
PREFIX_LIST_STR
@@ -2327,13 +2506,18 @@ DEFUN (no_ipv6_prefix_list_seq_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP6, argv[0], argv[1], argv[2],
- argv[3], argv[4], NULL);
+ int idx_word = 3;
+ int idx_number = 5;
+ int idx_permit_deny = 6;
+ int idx_ipv6_prefixlen = 7;
+ int idx_number_2 = 9;
+ return vty_prefix_list_uninstall (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, argv[idx_number_2]->arg, NULL);
}
DEFUN (no_ipv6_prefix_list_seq_ge_le,
no_ipv6_prefix_list_seq_ge_le_cmd,
- "no ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M ge <0-128> le <0-128>",
+ "no ipv6 prefix-list WORD seq (1-4294967295) <deny|permit> X:X::X:X/M ge (0-128) le (0-128)",
NO_STR
IPV6_STR
PREFIX_LIST_STR
@@ -2348,13 +2532,19 @@ DEFUN (no_ipv6_prefix_list_seq_ge_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP6, argv[0], argv[1], argv[2],
- argv[3], argv[4], argv[5]);
+ int idx_word = 3;
+ int idx_number = 5;
+ int idx_permit_deny = 6;
+ int idx_ipv6_prefixlen = 7;
+ int idx_number_2 = 9;
+ int idx_number_3 = 11;
+ return vty_prefix_list_uninstall (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, argv[idx_number_2]->arg, argv[idx_number_3]->arg);
}
DEFUN (no_ipv6_prefix_list_seq_le,
no_ipv6_prefix_list_seq_le_cmd,
- "no ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M le <0-128>",
+ "no ipv6 prefix-list WORD seq (1-4294967295) <deny|permit> X:X::X:X/M le (0-128)",
NO_STR
IPV6_STR
PREFIX_LIST_STR
@@ -2367,13 +2557,18 @@ DEFUN (no_ipv6_prefix_list_seq_le,
"Maximum prefix length to be matched\n"
"Maximum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP6, argv[0], argv[1], argv[2],
- argv[3], NULL, argv[4]);
+ int idx_word = 3;
+ int idx_number = 5;
+ int idx_permit_deny = 6;
+ int idx_ipv6_prefixlen = 7;
+ int idx_number_2 = 9;
+ return vty_prefix_list_uninstall (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, NULL, argv[idx_number_2]->arg);
}
DEFUN (no_ipv6_prefix_list_seq_le_ge,
no_ipv6_prefix_list_seq_le_ge_cmd,
- "no ipv6 prefix-list WORD seq <1-4294967295> (deny|permit) X:X::X:X/M le <0-128> ge <0-128>",
+ "no ipv6 prefix-list WORD seq (1-4294967295) <deny|permit> X:X::X:X/M le (0-128) ge (0-128)",
NO_STR
IPV6_STR
PREFIX_LIST_STR
@@ -2388,8 +2583,14 @@ DEFUN (no_ipv6_prefix_list_seq_le_ge,
"Minimum prefix length to be matched\n"
"Minimum prefix length\n")
{
- return vty_prefix_list_uninstall (vty, AFI_IP6, argv[0], argv[1], argv[2],
- argv[3], argv[5], argv[4]);
+ int idx_word = 3;
+ int idx_number = 5;
+ int idx_permit_deny = 6;
+ int idx_ipv6_prefixlen = 7;
+ int idx_number_2 = 9;
+ int idx_number_3 = 11;
+ return vty_prefix_list_uninstall (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_number]->arg, argv[idx_permit_deny]->arg,
+ argv[idx_ipv6_prefixlen]->arg, argv[idx_number_3]->arg, argv[idx_number_2]->arg);
}
DEFUN (ipv6_prefix_list_sequence_number,
@@ -2417,26 +2618,28 @@ DEFUN (no_ipv6_prefix_list_sequence_number,
DEFUN (ipv6_prefix_list_description,
ipv6_prefix_list_description_cmd,
- "ipv6 prefix-list WORD description .LINE",
+ "ipv6 prefix-list WORD description LINE...",
IPV6_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
"Prefix-list specific description\n"
"Up to 80 characters describing this prefix-list\n")
{
+ int idx_word = 2;
+ int iddx_line = 4;
struct prefix_list *plist;
- plist = prefix_list_get (AFI_IP6, 0, argv[0]);
+ plist = prefix_list_get (AFI_IP6, 0, argv[idx_word]->arg);
if (plist->desc)
{
XFREE (MTYPE_TMP, plist->desc);
plist->desc = NULL;
}
- plist->desc = argv_concat(argv, argc, 1);
+ plist->desc = argv_concat(argv, argc, iddx_line);
return CMD_SUCCESS;
-}
+}
DEFUN (no_ipv6_prefix_list_description,
no_ipv6_prefix_list_description_cmd,
@@ -2447,18 +2650,24 @@ DEFUN (no_ipv6_prefix_list_description,
"Name of a prefix list\n"
"Prefix-list specific description\n")
{
- return vty_prefix_list_desc_unset (vty, AFI_IP6, argv[0]);
+ int idx_word = 3;
+ return vty_prefix_list_desc_unset (vty, AFI_IP6, argv[idx_word]->arg);
}
-ALIAS (no_ipv6_prefix_list_description,
- no_ipv6_prefix_list_description_arg_cmd,
- "no ipv6 prefix-list WORD description .LINE",
+/* ALIAS_FIXME */
+DEFUN (no_ipv6_prefix_list_description_comment,
+ no_ipv6_prefix_list_description_comment_cmd,
+ "no ipv6 prefix-list WORD description LINE...",
NO_STR
IPV6_STR
PREFIX_LIST_STR
"Name of a prefix list\n"
"Prefix-list specific description\n"
"Up to 80 characters describing this prefix-list\n")
+{
+ return no_ipv6_prefix_list_description (self, vty, argc, argv);
+}
+
DEFUN (show_ipv6_prefix_list,
show_ipv6_prefix_list_cmd,
@@ -2478,12 +2687,13 @@ DEFUN (show_ipv6_prefix_list_name,
PREFIX_LIST_STR
"Name of a prefix list\n")
{
- return vty_show_prefix_list (vty, AFI_IP6, argv[0], NULL, normal_display);
+ int idx_word = 3;
+ return vty_show_prefix_list (vty, AFI_IP6, argv[idx_word]->arg, NULL, normal_display);
}
DEFUN (show_ipv6_prefix_list_name_seq,
show_ipv6_prefix_list_name_seq_cmd,
- "show ipv6 prefix-list WORD seq <1-4294967295>",
+ "show ipv6 prefix-list WORD seq (1-4294967295)",
SHOW_STR
IPV6_STR
PREFIX_LIST_STR
@@ -2491,7 +2701,9 @@ DEFUN (show_ipv6_prefix_list_name_seq,
"sequence number of an entry\n"
"Sequence number\n")
{
- return vty_show_prefix_list (vty, AFI_IP6, argv[0], argv[1], sequential_display);
+ int idx_word = 3;
+ int idx_number = 5;
+ return vty_show_prefix_list (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_number]->arg, sequential_display);
}
DEFUN (show_ipv6_prefix_list_prefix,
@@ -2503,7 +2715,9 @@ DEFUN (show_ipv6_prefix_list_prefix,
"Name of a prefix list\n"
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n")
{
- return vty_show_prefix_list_prefix (vty, AFI_IP6, argv[0], argv[1], normal_display);
+ int idx_word = 3;
+ int idx_ipv6_prefixlen = 4;
+ return vty_show_prefix_list_prefix (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_ipv6_prefixlen]->arg, normal_display);
}
DEFUN (show_ipv6_prefix_list_prefix_longer,
@@ -2516,7 +2730,9 @@ DEFUN (show_ipv6_prefix_list_prefix_longer,
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
"Lookup longer prefix\n")
{
- return vty_show_prefix_list_prefix (vty, AFI_IP6, argv[0], argv[1], longer_display);
+ int idx_word = 3;
+ int idx_ipv6_prefixlen = 4;
+ return vty_show_prefix_list_prefix (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_ipv6_prefixlen]->arg, longer_display);
}
DEFUN (show_ipv6_prefix_list_prefix_first_match,
@@ -2529,7 +2745,9 @@ DEFUN (show_ipv6_prefix_list_prefix_first_match,
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n"
"First matched prefix\n")
{
- return vty_show_prefix_list_prefix (vty, AFI_IP6, argv[0], argv[1], first_match_display);
+ int idx_word = 3;
+ int idx_ipv6_prefixlen = 4;
+ return vty_show_prefix_list_prefix (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_ipv6_prefixlen]->arg, first_match_display);
}
DEFUN (show_ipv6_prefix_list_summary,
@@ -2552,7 +2770,8 @@ DEFUN (show_ipv6_prefix_list_summary_name,
"Summary of prefix lists\n"
"Name of a prefix list\n")
{
- return vty_show_prefix_list (vty, AFI_IP6, argv[0], NULL, summary_display);
+ int idx_word = 4;
+ return vty_show_prefix_list (vty, AFI_IP6, argv[idx_word]->arg, NULL, summary_display);
}
DEFUN (show_ipv6_prefix_list_detail,
@@ -2575,7 +2794,8 @@ DEFUN (show_ipv6_prefix_list_detail_name,
"Detail of prefix lists\n"
"Name of a prefix list\n")
{
- return vty_show_prefix_list (vty, AFI_IP6, argv[0], NULL, detail_display);
+ int idx_word = 4;
+ return vty_show_prefix_list (vty, AFI_IP6, argv[idx_word]->arg, NULL, detail_display);
}
DEFUN (clear_ipv6_prefix_list,
@@ -2596,7 +2816,8 @@ DEFUN (clear_ipv6_prefix_list_name,
PREFIX_LIST_STR
"Name of a prefix list\n")
{
- return vty_clear_prefix_list (vty, AFI_IP6, argv[0], NULL);
+ int idx_word = 3;
+ return vty_clear_prefix_list (vty, AFI_IP6, argv[idx_word]->arg, NULL);
}
DEFUN (clear_ipv6_prefix_list_name_prefix,
@@ -2608,9 +2829,10 @@ DEFUN (clear_ipv6_prefix_list_name_prefix,
"Name of a prefix list\n"
"IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n")
{
- return vty_clear_prefix_list (vty, AFI_IP6, argv[0], argv[1]);
+ int idx_word = 3;
+ int idx_ipv6_prefixlen = 4;
+ return vty_clear_prefix_list (vty, AFI_IP6, argv[idx_word]->arg, argv[idx_ipv6_prefixlen]->arg);
}
-#endif /* HAVE_IPV6 */
/* Configuration write function. */
static int
@@ -2964,7 +3186,7 @@ prefix_list_init_ipv4 (void)
install_element (CONFIG_NODE, &ip_prefix_list_description_cmd);
install_element (CONFIG_NODE, &no_ip_prefix_list_description_cmd);
- install_element (CONFIG_NODE, &no_ip_prefix_list_description_arg_cmd);
+ install_element (CONFIG_NODE, &no_ip_prefix_list_description_comment_cmd);
install_element (CONFIG_NODE, &ip_prefix_list_sequence_number_cmd);
install_element (CONFIG_NODE, &no_ip_prefix_list_sequence_number_cmd);
@@ -2985,7 +3207,6 @@ prefix_list_init_ipv4 (void)
install_element (ENABLE_NODE, &clear_ip_prefix_list_name_prefix_cmd);
}
-#ifdef HAVE_IPV6
/* Prefix-list node. */
static struct cmd_node prefix_ipv6_node =
{
@@ -3030,7 +3251,7 @@ prefix_list_init_ipv6 (void)
install_element (CONFIG_NODE, &ipv6_prefix_list_description_cmd);
install_element (CONFIG_NODE, &no_ipv6_prefix_list_description_cmd);
- install_element (CONFIG_NODE, &no_ipv6_prefix_list_description_arg_cmd);
+ install_element (CONFIG_NODE, &no_ipv6_prefix_list_description_comment_cmd);
install_element (CONFIG_NODE, &ipv6_prefix_list_sequence_number_cmd);
install_element (CONFIG_NODE, &no_ipv6_prefix_list_sequence_number_cmd);
@@ -3050,15 +3271,12 @@ prefix_list_init_ipv6 (void)
install_element (ENABLE_NODE, &clear_ipv6_prefix_list_name_cmd);
install_element (ENABLE_NODE, &clear_ipv6_prefix_list_name_prefix_cmd);
}
-#endif /* HAVE_IPV6 */
void
prefix_list_init ()
{
prefix_list_init_ipv4 ();
-#ifdef HAVE_IPV6
prefix_list_init_ipv6 ();
-#endif /* HAVE_IPV6 */
}
void