Hasso Tepper

http://hasso.linux.ee/zebra/ht-distribute-18042003.patch
Allows to extract.pl to pickup "distribute-list ..." commands for vtysh
(ripngd and ripd).
This commit is contained in:
paul 2003-04-19 15:55:08 +00:00
parent 41ce926cb4
commit ba23a69193
3 changed files with 101 additions and 13 deletions

View File

@ -327,6 +327,14 @@ DEFUN (distribute_list_all,
return CMD_SUCCESS; return CMD_SUCCESS;
} }
ALIAS (distribute_list_all,
ipv6_distribute_list_all_cmd,
"distribute-list WORD (in|out)",
"Filter networks in routing updates\n"
"Access-list name\n"
"Filter incoming routing updates\n"
"Filter outgoing routing updates\n")
DEFUN (no_distribute_list_all, DEFUN (no_distribute_list_all,
no_distribute_list_all_cmd, no_distribute_list_all_cmd,
"no distribute-list WORD (in|out)", "no distribute-list WORD (in|out)",
@ -360,6 +368,15 @@ DEFUN (no_distribute_list_all,
return CMD_SUCCESS; return CMD_SUCCESS;
} }
ALIAS (no_distribute_list_all,
no_ipv6_distribute_list_all_cmd,
"no distribute-list WORD (in|out)",
NO_STR
"Filter networks in routing updates\n"
"Access-list name\n"
"Filter incoming routing updates\n"
"Filter outgoing routing updates\n")
DEFUN (distribute_list, DEFUN (distribute_list,
distribute_list_cmd, distribute_list_cmd,
"distribute-list WORD (in|out) WORD", "distribute-list WORD (in|out) WORD",
@ -389,6 +406,15 @@ DEFUN (distribute_list,
return CMD_SUCCESS; return CMD_SUCCESS;
} }
ALIAS (distribute_list,
ipv6_distribute_list_cmd,
"distribute-list WORD (in|out) WORD",
"Filter networks in routing updates\n"
"Access-list name\n"
"Filter incoming routing updates\n"
"Filter outgoing routing updates\n"
"Interface name\n")
DEFUN (no_districute_list, no_distribute_list_cmd, DEFUN (no_districute_list, no_distribute_list_cmd,
"no distribute-list WORD (in|out) WORD", "no distribute-list WORD (in|out) WORD",
NO_STR NO_STR
@ -421,6 +447,15 @@ DEFUN (no_districute_list, no_distribute_list_cmd,
return CMD_SUCCESS; return CMD_SUCCESS;
} }
ALIAS (no_districute_list, no_ipv6_distribute_list_cmd,
"no distribute-list WORD (in|out) WORD",
NO_STR
"Filter networks in routing updates\n"
"Access-list name\n"
"Filter incoming routing updates\n"
"Filter outgoing routing updates\n"
"Interface name\n")
DEFUN (districute_list_prefix_all, DEFUN (districute_list_prefix_all,
distribute_list_prefix_all_cmd, distribute_list_prefix_all_cmd,
"distribute-list prefix WORD (in|out)", "distribute-list prefix WORD (in|out)",
@ -451,6 +486,15 @@ DEFUN (districute_list_prefix_all,
return CMD_SUCCESS; return CMD_SUCCESS;
} }
ALIAS (districute_list_prefix_all,
ipv6_distribute_list_prefix_all_cmd,
"distribute-list prefix WORD (in|out)",
"Filter networks in routing updates\n"
"Filter prefixes in routing updates\n"
"Name of an IP prefix-list\n"
"Filter incoming routing updates\n"
"Filter outgoing routing updates\n")
DEFUN (no_districute_list_prefix_all, DEFUN (no_districute_list_prefix_all,
no_distribute_list_prefix_all_cmd, no_distribute_list_prefix_all_cmd,
"no distribute-list prefix WORD (in|out)", "no distribute-list prefix WORD (in|out)",
@ -485,6 +529,16 @@ DEFUN (no_districute_list_prefix_all,
return CMD_SUCCESS; return CMD_SUCCESS;
} }
ALIAS (no_districute_list_prefix_all,
no_ipv6_distribute_list_prefix_all_cmd,
"no distribute-list prefix WORD (in|out)",
NO_STR
"Filter networks in routing updates\n"
"Filter prefixes in routing updates\n"
"Name of an IP prefix-list\n"
"Filter incoming routing updates\n"
"Filter outgoing routing updates\n")
DEFUN (districute_list_prefix, distribute_list_prefix_cmd, DEFUN (districute_list_prefix, distribute_list_prefix_cmd,
"distribute-list prefix WORD (in|out) WORD", "distribute-list prefix WORD (in|out) WORD",
"Filter networks in routing updates\n" "Filter networks in routing updates\n"
@ -515,6 +569,15 @@ DEFUN (districute_list_prefix, distribute_list_prefix_cmd,
return CMD_SUCCESS; return CMD_SUCCESS;
} }
ALIAS (districute_list_prefix, ipv6_distribute_list_prefix_cmd,
"distribute-list prefix WORD (in|out) WORD",
"Filter networks in routing updates\n"
"Filter prefixes in routing updates\n"
"Name of an IP prefix-list\n"
"Filter incoming routing updates\n"
"Filter outgoing routing updates\n"
"Interface name\n")
DEFUN (no_districute_list_prefix, no_distribute_list_prefix_cmd, DEFUN (no_districute_list_prefix, no_distribute_list_prefix_cmd,
"no distribute-list prefix WORD (in|out) WORD", "no distribute-list prefix WORD (in|out) WORD",
NO_STR NO_STR
@ -549,6 +612,16 @@ DEFUN (no_districute_list_prefix, no_distribute_list_prefix_cmd,
return CMD_SUCCESS; return CMD_SUCCESS;
} }
ALIAS (no_districute_list_prefix, no_ipv6_distribute_list_prefix_cmd,
"no distribute-list prefix WORD (in|out) WORD",
NO_STR
"Filter networks in routing updates\n"
"Filter prefixes in routing updates\n"
"Name of an IP prefix-list\n"
"Filter incoming routing updates\n"
"Filter outgoing routing updates\n"
"Interface name\n")
int int
config_show_distribute (struct vty *vty) config_show_distribute (struct vty *vty)
{ {
@ -695,15 +768,23 @@ distribute_list_init (int node)
{ {
disthash = hash_create (distribute_hash_make, distribute_cmp); disthash = hash_create (distribute_hash_make, distribute_cmp);
install_element (node, &distribute_list_all_cmd); if(node==RIP_NODE) {
install_element (node, &no_distribute_list_all_cmd); install_element (RIP_NODE, &distribute_list_all_cmd);
install_element (RIP_NODE, &no_distribute_list_all_cmd);
install_element (node, &distribute_list_cmd); install_element (RIP_NODE, &distribute_list_cmd);
install_element (node, &no_distribute_list_cmd); install_element (RIP_NODE, &no_distribute_list_cmd);
install_element (RIP_NODE, &distribute_list_prefix_all_cmd);
install_element (node, &distribute_list_prefix_all_cmd); install_element (RIP_NODE, &no_distribute_list_prefix_all_cmd);
install_element (node, &no_distribute_list_prefix_all_cmd); install_element (RIP_NODE, &distribute_list_prefix_cmd);
install_element (RIP_NODE, &no_distribute_list_prefix_cmd);
install_element (node, &distribute_list_prefix_cmd); } else {
install_element (node, &no_distribute_list_prefix_cmd); install_element (RIPNG_NODE, &ipv6_distribute_list_all_cmd);
install_element (RIPNG_NODE, &no_ipv6_distribute_list_all_cmd);
install_element (RIPNG_NODE, &ipv6_distribute_list_cmd);
install_element (RIPNG_NODE, &no_ipv6_distribute_list_cmd);
install_element (RIPNG_NODE, &ipv6_distribute_list_prefix_all_cmd);
install_element (RIPNG_NODE, &no_ipv6_distribute_list_prefix_all_cmd);
install_element (RIPNG_NODE, &ipv6_distribute_list_prefix_cmd);
install_element (RIPNG_NODE, &no_ipv6_distribute_list_prefix_cmd);
}
} }

View File

@ -16,9 +16,9 @@ sysconf_DATA = vtysh.conf.sample
EXTRA_DIST = extract.pl vtysh.conf.sample EXTRA_DIST = extract.pl vtysh.conf.sample
rebuild4: rebuild4:
./extract.pl ../zebra/*.c ../ripd/*.c ../ospfd/*.c ../bgpd/*.c ../lib/keychain.c ../lib/routemap.c ../lib/filter.c ../lib/plist.c >vtysh_cmd.c ./extract.pl ../zebra/*.c ../ripd/*.c ../ospfd/*.c ../bgpd/*.c ../lib/keychain.c ../lib/routemap.c ../lib/filter.c ../lib/plist.c ../lib/distribute.c > vtysh_cmd.c
rebuild: rebuild:
./extract.pl ../zebra/*.c ../ripd/*.c ../ripngd/*.c ../ospfd/*.c ../ospf6d/*.c ../bgpd/*.c ../lib/keychain.c ../lib/routemap.c ../lib/filter.c ../lib/plist.c >vtysh_cmd.c ./extract.pl ../zebra/*.c ../ripd/*.c ../ripngd/*.c ../ospfd/*.c ../ospf6d/*.c ../bgpd/*.c ../lib/keychain.c ../lib/routemap.c ../lib/filter.c ../lib/plist.c ../lib/distribute.c > vtysh_cmd.c
vtysh_cmd.c: rebuild vtysh_cmd.c: rebuild

View File

@ -101,6 +101,13 @@ foreach (@ARGV) {
$protocol = "VTYSH_RIPD|VTYSH_BGPD"; $protocol = "VTYSH_RIPD|VTYSH_BGPD";
} }
} }
if ($file =~ /distribute.c/) {
if ($defun_array[1] =~ m/ipv6/) {
$protocol = "VTYSH_RIPNGD";
} else {
$protocol = "VTYSH_RIPD";
}
}
} else { } else {
($protocol) = ($file =~ /\/([a-z0-9]+)/); ($protocol) = ($file =~ /\/([a-z0-9]+)/);
$protocol = "VTYSH_" . uc $protocol; $protocol = "VTYSH_" . uc $protocol;