* 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.
diff --git a/isisd/isisd.c b/isisd/isisd.c
index 2a60b88..dbaae8a 100644
--- a/isisd/isisd.c
+++ b/isisd/isisd.c
@@ -106,9 +106,11 @@
   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 ();