summaryrefslogtreecommitdiff
path: root/lib/distribute.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/distribute.c')
-rw-r--r--lib/distribute.c37
1 files changed, 20 insertions, 17 deletions
diff --git a/lib/distribute.c b/lib/distribute.c
index 04889030..8d6f6377 100644
--- a/lib/distribute.c
+++ b/lib/distribute.c
@@ -758,22 +758,25 @@ distribute_list_init (int node)
(int (*) (const void *, const void *)) distribute_cmp);
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);
+ 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);
+ } else if (node == RIPNG_NODE || node == BABEL_NODE) {
+ /* WARNING: two identical commands installed do a crash, so be worry with
+ aliases. For this reason, and because all these commands are aliases, Babel
+ is not set with RIP. */
+ install_element (node, &ipv6_distribute_list_all_cmd);
+ install_element (node, &no_ipv6_distribute_list_all_cmd);
+ install_element (node, &ipv6_distribute_list_cmd);
+ install_element (node, &no_ipv6_distribute_list_cmd);
+ install_element (node, &ipv6_distribute_list_prefix_all_cmd);
+ install_element (node, &no_ipv6_distribute_list_prefix_all_cmd);
+ install_element (node, &ipv6_distribute_list_prefix_cmd);
+ install_element (node, &no_ipv6_distribute_list_prefix_cmd);
}
}