mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 22:10:19 +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;
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user