* 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.h b/isisd/isisd.h
index e61376e..4e71640 100644
--- a/isisd/isisd.h
+++ b/isisd/isisd.h
@@ -79,13 +79,13 @@
 
 struct isis_area
 {
-  struct isis *isis;		/* back pointer */
-  dict_t *lspdb[ISIS_LEVELS];	/* link-state dbs */
-  struct isis_spftree *spftree[ISIS_LEVELS];	/* The v4 SPTs */
-  struct route_table *route_table;	/* IPv4 routes */
+  struct isis *isis;				  /* back pointer */
+  dict_t *lspdb[ISIS_LEVELS];			  /* link-state dbs */
+  struct isis_spftree *spftree[ISIS_LEVELS];	  /* The v4 SPTs */
+  struct route_table *route_table[ISIS_LEVELS];	  /* IPv4 routes */
 #ifdef HAVE_IPV6
-  struct isis_spftree *spftree6[ISIS_LEVELS];	/* The v4 SPTs */
-  struct route_table *route_table6;	/* IPv6 routes */
+  struct isis_spftree *spftree6[ISIS_LEVELS];	  /* The v6 SPTs */
+  struct route_table *route_table6[ISIS_LEVELS];  /* IPv6 routes */
 #endif
   unsigned int min_bcast_mtu;
   struct list *circuit_list;	/* IS-IS circuits */