isisd: unexpected kernel routing table (BZ#544)

Fix bug 544: isisd produces an unexpected routing table for wide-metric.

* isis_spf.c: Accept VTYPE_PSEUDO_TE_IS and VTYPE_NONPSEUDO_TE_IS
  vertex types for SPF calculation
* isis_pdu.c: Change order of TLVs to match Cisco to make bitwise
  comparison easier for Wireshark
* isis_tlv.c: EXTREME_TLV_DEBUG for TLV debugging instead of
  EXTREME_DEBUG
diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c
index b6178e3..5d0b161 100644
--- a/isisd/isis_spf.c
+++ b/isisd/isis_spf.c
@@ -1030,15 +1030,22 @@
 
   while (listcount (spftree->tents) > 0)
     {
+      /* C.2.7 a) 1) */
       node = listhead (spftree->tents);
       vertex = listgetdata (node);
-      /* Remove from tent list */
+
+      /* C.2.7 a) 2) */
       list_delete_node (spftree->tents, node);
+
+      /* C.2.7 a) 3) */
       if (isis_find_vertex (spftree->paths, vertex->N.id, vertex->type))
 	continue;
       add_to_paths (spftree, vertex, area, level);
+
       if (vertex->type == VTYPE_PSEUDO_IS ||
-	  vertex->type == VTYPE_NONPSEUDO_IS)
+	  vertex->type == VTYPE_NONPSEUDO_IS ||
+	  vertex->type == VTYPE_PSEUDO_TE_IS ||
+	  vertex->type == VTYPE_NONPSEUDO_TE_IS )
 	{
 	  if (listcount(vertex->Adj_N) == 0) {
 	    continue;
@@ -1054,7 +1061,6 @@
 		{
 		  isis_spf_process_pseudo_lsp (spftree, lsp, vertex->d_N,
 					       vertex->depth, family, adj);
-
 		}
 	      else
 		{