From fac1f7cc8eaa750fa46985977a97e05e493228a2 Mon Sep 17 00:00:00 2001 From: hasso Date: Mon, 26 Sep 2005 18:26:26 +0000 Subject: * isis_spf.c: Changing cost from uint16_t to uint32_t. Unset ISIS_ROUTE_FLAG_ACTIVE flag before running SPF. * isisd.[ch]: Separate route tables for different levels. SPF is done separately, but in case of L1L2 area they have to be merged. * isis_zebra.c: Set/unset ISIS_ROUTE_FLAG_ZEBRA_SYNC flag correctly in case of adding/removing IPv4 routes. * zebra_route.c: Rework route validating process. Merging L1 and L2 tables in case of L1L2 area. In short - many changes to make SPF work more correctly, add/remove to/from RIB also works now. It's still very far from perfect though. --- isisd/isisd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'isisd/isisd.c') diff --git a/isisd/isisd.c b/isisd/isisd.c index 2a60b889..dbaae8a8 100644 --- a/isisd/isisd.c +++ b/isisd/isisd.c @@ -106,9 +106,11 @@ isis_area_create () area->lspdb[1] = lsp_db_init (); spftree_area_init (area); - area->route_table = route_table_init (); + area->route_table[0] = route_table_init (); + area->route_table[1] = route_table_init (); #ifdef HAVE_IPV6 - area->route_table6 = route_table_init (); + area->route_table6[0] = route_table_init (); + area->route_table6[1] = route_table_init (); #endif /* HAVE_IPV6 */ area->circuit_list = list_new (); area->area_addrs = list_new (); -- cgit v1.2.1