vtysh: Bug 789 - vtysh ripngd does not have distribute-list command
Make commands added by distribute_list_init() from ripd/ripngd daemon known
to vtysh.
Babeld leftovers not included, also other commands (show, write) from
bug #789 not included.
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
index 5d59062..9a8aedd 100644
--- a/vtysh/vtysh.c
+++ b/vtysh/vtysh.c
@@ -1367,6 +1367,158 @@
NO_STR
"Interface specific description\n")
+DEFSH (VTYSH_RIPD|VTYSH_RIPNGD,
+ 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")
+
+DEFSH (VTYSH_RIPD|VTYSH_RIPNGD,
+ no_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")
+
+DEFSH (VTYSH_RIPD|VTYSH_RIPNGD,
+ 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")
+
+DEFSH (VTYSH_RIPD|VTYSH_RIPNGD,
+ no_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")
+
+DEFSH (VTYSH_RIPD|VTYSH_RIPNGD,
+ 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")
+
+DEFSH (VTYSH_RIPD|VTYSH_RIPNGD,
+ no_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")
+
+DEFSH (VTYSH_RIPD|VTYSH_RIPNGD,
+ 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")
+
+DEFSH (VTYSH_RIPD|VTYSH_RIPNGD,
+ no_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")
+
+DEFSH (VTYSH_RIPNGD,
+ ipv6_distribute_list_all_cmd,
+ "ipv6 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")
+
+DEFSH (VTYSH_RIPNGD,
+ no_ipv6_distribute_list_all_cmd,
+ "no ipv6 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")
+
+DEFSH (VTYSH_RIPNGD,
+ ipv6_distribute_list_cmd,
+ "ipv6 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")
+
+DEFSH (VTYSH_RIPNGD,
+ no_ipv6_distribute_list_cmd,
+ "no ipv6 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")
+
+DEFSH (VTYSH_RIPNGD,
+ ipv6_distribute_list_prefix_all_cmd,
+ "ipv6 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")
+
+DEFSH (VTYSH_RIPNGD,
+ no_ipv6_distribute_list_prefix_all_cmd,
+ "no ipv6 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")
+
+DEFSH (VTYSH_RIPNGD,
+ ipv6_distribute_list_prefix_cmd,
+ "ipv6 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")
+
+DEFSH (VTYSH_RIPNGD,
+ no_ipv6_distribute_list_prefix_cmd,
+ "no ipv6 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")
+
DEFUNSH (VTYSH_INTERFACE,
vtysh_exit_interface,
vtysh_exit_interface_cmd,
@@ -2607,6 +2759,31 @@
install_element (ENABLE_NODE, &vtysh_copy_runningconfig_startupconfig_cmd);
install_element (ENABLE_NODE, &vtysh_write_file_cmd);
install_element (ENABLE_NODE, &vtysh_write_cmd);
+ /* distribute-list commands. (based on lib/distribute.c distribute_list_init()) */
+ 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);
+ 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);
+ install_element (RIPNG_NODE, &distribute_list_all_cmd);
+ install_element (RIPNG_NODE, &no_distribute_list_all_cmd);
+ install_element (RIPNG_NODE, &distribute_list_cmd);
+ install_element (RIPNG_NODE, &no_distribute_list_cmd);
+ install_element (RIPNG_NODE, &distribute_list_prefix_all_cmd);
+ install_element (RIPNG_NODE, &no_distribute_list_prefix_all_cmd);
+ install_element (RIPNG_NODE, &distribute_list_prefix_cmd);
+ install_element (RIPNG_NODE, &no_distribute_list_prefix_cmd);
/* "write terminal" command. */
install_element (ENABLE_NODE, &vtysh_write_terminal_cmd);