From f6c5f2e0c3c46400fa95b401add386beab1e5118 Mon Sep 17 00:00:00 2001 From: lynne Date: Thu, 25 Mar 2021 11:58:45 -0400 Subject: ospf6d: Fix when an "export-list" or "filter-list out" is applied. When an "export-filter" or "filter-list out" was configured on an area the filter was not applied to existing database. The user would either have to restart the neighboring router in the other area or issue a "clear ipv6 ospf6 interface" to cause the neighbor router to resend it's LSAs. The new filter would then be applied to these LSAs and permit or deny summary LSAs from being added/removed from the database. The code now applies the filters to the existing database without user needing to take any action to clear ospfv3 adjacencies. The second part of the problem was if a rule changed the updated filter was not applied. The code has been modifed to now process the rule update and reapply the filter. Signed-off-by: Lynne Morrison --- ospf6d/ospf6d.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'ospf6d/ospf6d.c') diff --git a/ospf6d/ospf6d.c b/ospf6d/ospf6d.c index 91d427c78..ab8adce2e 100644 --- a/ospf6d/ospf6d.c +++ b/ospf6d/ospf6d.c @@ -25,6 +25,7 @@ #include "vty.h" #include "command.h" #include "plist.h" +#include "filter.h" #include "ospf6_proto.h" #include "ospf6_top.h" @@ -1123,8 +1124,11 @@ void ospf6_init(struct thread_master *master) ospf6_asbr_init(); ospf6_abr_init(); + /* initialize hooks for modifying filter rules */ prefix_list_add_hook(ospf6_plist_add); prefix_list_delete_hook(ospf6_plist_del); + access_list_add_hook(ospf6_filter_update); + access_list_delete_hook(ospf6_filter_update); ospf6_bfd_init(); install_node(&debug_node); -- cgit v1.2.3