mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 18:27:21 +00:00
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:
parent
41ce926cb4
commit
ba23a69193
103
lib/distribute.c
103
lib/distribute.c
@ -327,6 +327,14 @@ DEFUN (distribute_list_all,
|
||||
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,
|
||||
no_distribute_list_all_cmd,
|
||||
"no distribute-list WORD (in|out)",
|
||||
@ -360,6 +368,15 @@ DEFUN (no_distribute_list_all,
|
||||
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,
|
||||
distribute_list_cmd,
|
||||
"distribute-list WORD (in|out) WORD",
|
||||
@ -389,6 +406,15 @@ DEFUN (distribute_list,
|
||||
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,
|
||||
"no distribute-list WORD (in|out) WORD",
|
||||
NO_STR
|
||||
@ -421,6 +447,15 @@ DEFUN (no_districute_list, no_distribute_list_cmd,
|
||||
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,
|
||||
distribute_list_prefix_all_cmd,
|
||||
"distribute-list prefix WORD (in|out)",
|
||||
@ -451,6 +486,15 @@ DEFUN (districute_list_prefix_all,
|
||||
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,
|
||||
no_distribute_list_prefix_all_cmd,
|
||||
"no distribute-list prefix WORD (in|out)",
|
||||
@ -485,6 +529,16 @@ DEFUN (no_districute_list_prefix_all,
|
||||
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,
|
||||
"distribute-list prefix WORD (in|out) WORD",
|
||||
"Filter networks in routing updates\n"
|
||||
@ -515,6 +569,15 @@ DEFUN (districute_list_prefix, distribute_list_prefix_cmd,
|
||||
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,
|
||||
"no distribute-list prefix WORD (in|out) WORD",
|
||||
NO_STR
|
||||
@ -549,6 +612,16 @@ DEFUN (no_districute_list_prefix, no_distribute_list_prefix_cmd,
|
||||
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
|
||||
config_show_distribute (struct vty *vty)
|
||||
{
|
||||
@ -695,15 +768,23 @@ distribute_list_init (int node)
|
||||
{
|
||||
disthash = hash_create (distribute_hash_make, distribute_cmp);
|
||||
|
||||
install_element (node, &distribute_list_all_cmd);
|
||||
install_element (node, &no_distribute_list_all_cmd);
|
||||
|
||||
install_element (node, &distribute_list_cmd);
|
||||
install_element (node, &no_distribute_list_cmd);
|
||||
|
||||
install_element (node, &distribute_list_prefix_all_cmd);
|
||||
install_element (node, &no_distribute_list_prefix_all_cmd);
|
||||
|
||||
install_element (node, &distribute_list_prefix_cmd);
|
||||
install_element (node, &no_distribute_list_prefix_cmd);
|
||||
if(node==RIP_NODE) {
|
||||
install_element (RIP_NODE, &distribute_list_all_cmd);
|
||||
install_element (RIP_NODE, &no_distribute_list_all_cmd);
|
||||
install_element (RIP_NODE, &distribute_list_cmd);
|
||||
install_element (RIP_NODE, &no_distribute_list_cmd);
|
||||
install_element (RIP_NODE, &distribute_list_prefix_all_cmd);
|
||||
install_element (RIP_NODE, &no_distribute_list_prefix_all_cmd);
|
||||
install_element (RIP_NODE, &distribute_list_prefix_cmd);
|
||||
install_element (RIP_NODE, &no_distribute_list_prefix_cmd);
|
||||
} else {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@ -16,9 +16,9 @@ sysconf_DATA = vtysh.conf.sample
|
||||
EXTRA_DIST = extract.pl vtysh.conf.sample
|
||||
|
||||
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:
|
||||
./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
|
||||
|
@ -101,6 +101,13 @@ foreach (@ARGV) {
|
||||
$protocol = "VTYSH_RIPD|VTYSH_BGPD";
|
||||
}
|
||||
}
|
||||
if ($file =~ /distribute.c/) {
|
||||
if ($defun_array[1] =~ m/ipv6/) {
|
||||
$protocol = "VTYSH_RIPNGD";
|
||||
} else {
|
||||
$protocol = "VTYSH_RIPD";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
($protocol) = ($file =~ /\/([a-z0-9]+)/);
|
||||
$protocol = "VTYSH_" . uc $protocol;
|
||||
|
Loading…
Reference in New Issue
Block a user