📄 plist.c
字号:
PREFIX_LIST_STR "Name of a prefix list\n" "Specify packets to reject\n" "Specify packets to forward\n" "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n" "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);}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_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n" "Specify packets to reject\n" "Specify packets to forward\n" "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n" "Minimum prefix length to be matched\n" "Minimum prefix length\n" "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]);}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_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n" "Specify packets to reject\n" "Specify packets to forward\n" "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n" "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]);}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_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n" "Specify packets to reject\n" "Specify packets to forward\n" "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n" "Maximum prefix length to be matched\n" "Maximum prefix length\n" "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]);}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_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n" "sequence number of an entry\n" "Sequence number\n" "Specify packets to reject\n" "Specify packets to forward\n" "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);}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_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n" "sequence number of an entry\n" "Sequence number\n" "Specify packets to reject\n" "Specify packets to forward\n" "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n" "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);}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_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n" "sequence number of an entry\n" "Sequence number\n" "Specify packets to reject\n" "Specify packets to forward\n" "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n" "Minimum prefix length to be matched\n" "Minimum prefix length\n" "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]);}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_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n" "sequence number of an entry\n" "Sequence number\n" "Specify packets to reject\n" "Specify packets to forward\n" "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n" "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]);}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_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n" "sequence number of an entry\n" "Sequence number\n" "Specify packets to reject\n" "Specify packets to forward\n" "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n" "Maximum prefix length to be matched\n" "Maximum prefix length\n" "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]);}DEFUN (ipv6_prefix_list_sequence_number, ipv6_prefix_list_sequence_number_cmd, "ipv6 prefix-list sequence-number", IPV6_STR PREFIX_LIST_STR "Include/exclude sequence numbers in NVGEN\n"){ prefix_master_ipv6.seqnum = 1; return CMD_SUCCESS;}DEFUN (no_ipv6_prefix_list_sequence_number, no_ipv6_prefix_list_sequence_number_cmd, "no ipv6 prefix-list sequence-number", NO_STR IPV6_STR PREFIX_LIST_STR "Include/exclude sequence numbers in NVGEN\n"){ prefix_master_ipv6.seqnum = 0; return CMD_SUCCESS;}DEFUN (ipv6_prefix_list_description, ipv6_prefix_list_description_cmd, "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"){ struct prefix_list *plist; struct buffer *b; int i; plist = prefix_list_get (AFI_IP6, argv[0]); if (plist->desc) { XFREE (MTYPE_TMP, plist->desc); plist->desc = NULL; } /* Below is description get codes. */ b = buffer_new (1024); for (i = 1; i < argc; i++) { buffer_putstr (b, (u_char *)argv[i]); buffer_putc (b, ' '); } buffer_putc (b, '\0'); plist->desc = buffer_getstr (b); buffer_free (b); return CMD_SUCCESS;} DEFUN (no_ipv6_prefix_list_description, no_ipv6_prefix_list_description_cmd, "no ipv6 prefix-list WORD description", NO_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n" "Prefix-list specific description\n"){ return vty_prefix_list_desc_unset (vty, AFI_IP6, argv[0]);}ALIAS (no_ipv6_prefix_list_description, no_ipv6_prefix_list_description_arg_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");DEFUN (show_ipv6_prefix_list, show_ipv6_prefix_list_cmd, "show ipv6 prefix-list", SHOW_STR IPV6_STR PREFIX_LIST_STR){ return vty_show_prefix_list (vty, AFI_IP6, NULL, NULL, normal_display);}DEFUN (show_ipv6_prefix_list_name, show_ipv6_prefix_list_name_cmd, "show ipv6 prefix-list WORD", SHOW_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n"){ return vty_show_prefix_list (vty, AFI_IP6, argv[0], 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_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n" "sequence number of an entry\n" "Sequence number\n"){ return vty_show_prefix_list (vty, AFI_IP6, argv[0], argv[1], sequential_display);}DEFUN (show_ipv6_prefix_list_prefix, show_ipv6_prefix_list_prefix_cmd, "show ipv6 prefix-list WORD X:X::X:X/M", SHOW_STR IPV6_STR PREFIX_LIST_STR "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);}DEFUN (show_ipv6_prefix_list_prefix_longer, show_ipv6_prefix_list_prefix_longer_cmd, "show ipv6 prefix-list WORD X:X::X:X/M longer", SHOW_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n" "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);}DEFUN (show_ipv6_prefix_list_prefix_first_match, show_ipv6_prefix_list_prefix_first_match_cmd, "show ipv6 prefix-list WORD X:X::X:X/M first-match", SHOW_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n" "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);}DEFUN (show_ipv6_prefix_list_summary, show_ipv6_prefix_list_summary_cmd, "show ipv6 prefix-list summary", SHOW_STR IPV6_STR PREFIX_LIST_STR "Summary of prefix lists\n"){ return vty_show_prefix_list (vty, AFI_IP6, NULL, NULL, summary_display);}DEFUN (show_ipv6_prefix_list_summary_name, show_ipv6_prefix_list_summary_name_cmd, "show ipv6 prefix-list summary WORD", SHOW_STR IPV6_STR PREFIX_LIST_STR "Summary of prefix lists\n" "Name of a prefix list\n"){ return vty_show_prefix_list (vty, AFI_IP6, argv[0], NULL, summary_display);}DEFUN (show_ipv6_prefix_list_detail, show_ipv6_prefix_list_detail_cmd, "show ipv6 prefix-list detail", SHOW_STR IPV6_STR PREFIX_LIST_STR "Detail of prefix lists\n"){ return vty_show_prefix_list (vty, AFI_IP6, NULL, NULL, detail_display);}DEFUN (show_ipv6_prefix_list_detail_name, show_ipv6_prefix_list_detail_name_cmd, "show ipv6 prefix-list detail WORD", SHOW_STR IPV6_STR PREFIX_LIST_STR "Detail of prefix lists\n" "Name of a prefix list\n"){ return vty_show_prefix_list (vty, AFI_IP6, argv[0], NULL, detail_display);}DEFUN (clear_ipv6_prefix_list, clear_ipv6_prefix_list_cmd, "clear ipv6 prefix-list", CLEAR_STR IPV6_STR PREFIX_LIST_STR){ return vty_clear_prefix_list (vty, AFI_IP6, NULL, NULL);}DEFUN (clear_ipv6_prefix_list_name, clear_ipv6_prefix_list_name_cmd, "clear ipv6 prefix-list WORD", CLEAR_STR IPV6_STR PREFIX_LIST_STR "Name of a prefix list\n"){ return vty_clear_prefix_list (vty, AFI_IP6, argv[0], NULL);}DEFUN (clear_ipv6_prefix_list_name_prefix, clear_ipv6_prefix_list_name_prefix_cmd, "clear ipv6 prefix-list WORD X:X::X:X/M", CLEAR_STR IPV6_STR PREFIX_LIST_STR "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]);}#endif /* HAVE_IPV6 *//* Configuration write function. */intconfig_write_prefix_afi (afi_t afi, struct vty *vty){ struct prefix_list *plist; struct prefix_list_entry *pentry; struct prefix_master *master; int write = 0; master = prefix_master_get (afi); if (master == NULL) return 0; if (! master->seqnum) { vty_out (vty, "no ip%s prefix-list sequence-number%s", afi == AFI_IP ? "" : "v6", VTY_NEWLINE); vty_out (vty, "!%s", VTY_NEWLINE); } for (plist = master->num.head; plist; plist = plist->next) { if (plist->desc) { vty_out (vty, "ip%s prefix-list %s description %s%s", afi == AFI_IP ? "" : "v6", plist->name, plist->desc, VTY_NEWLINE); write++; } for (pentry = plist->head; pentry; pentry = pentry->next) { vty_out (vty, "ip%s prefix-list %s ", afi == AFI_IP ? "" : "v6", plist->name); if (master->seqnum) vty_out (vty, "seq %d ", pentry->seq); vty_out (vty, "%s ", prefix_list_type_str (pentry)); if (pentry->any) vty_out (vty, "any"); else { struct prefix *p = &pentry->prefix; char buf[BUFSIZ]; vty_out (vty, "%s/%d", inet_ntop (p->family, &p->u.prefix, buf, BUFSIZ), p->prefixlen); if (pentry->ge) vty_out (vty, " ge %d", pentry->ge); if (pentry->le) vty_out (vty, " le %d", pentry->le); } vty_out (vty, "%s", VTY_NEWLINE); write++; } /* vty_out (vty, "!%s", VTY_NEWLINE); */ } for (plist = master->str.head; plist; plist = plist->next) { if (plist->desc) { vty_out (vty, "ip%s prefix-list %s description %s%s", afi == AFI_IP ? "" : "v6", plist->name, plist->desc, VTY_NEWLINE); write++; } for (pentry = plist->head; pentry; pentry = pentry->next) { vty_out (vty, "ip%s prefix-list %s ", afi == AFI_IP ? "" : "v6", plist->name); if (master->seqnum) vty_out (vty, "seq %d ", pentry->seq); vty_out (vty, "%s", prefix_list_type_str (pentry)); if (pentry->any) vty_out (vty, " any"); else { struct prefix *p = &pentry->prefix; char buf[BUFSIZ]; vty_out (vty, " %s/%d", inet_ntop (p->family, &p->u.prefix
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -