Route counters in the stats segment
[vpp.git] / src / vnet / fib / fib_entry.c
index 19e8433..8d7ce00 100644 (file)
@@ -118,8 +118,8 @@ format_fib_entry (u8 * s, va_list * args)
 
     s = format (s, "%U", format_fib_prefix, &fib_entry->fe_prefix);
 
-//    if (level >= FIB_ENTRY_FORMAT_DETAIL)
-//    {
+    if (level >= FIB_ENTRY_FORMAT_DETAIL)
+    {
        s = format (s, " fib:%d", fib_entry->fe_fib_index);
        s = format (s, " index:%d", fib_entry_get_index(fib_entry));
        s = format (s, " locks:%d", fib_entry->fe_node.fn_locks);
@@ -154,11 +154,11 @@ format_fib_entry (u8 * s, va_list * args)
        }));
     
        s = format (s, "\n forwarding: ");
-//    }
-//    else
-//    {
-//     s = format (s, "\n");
-//    }
+    }
+    else
+    {
+       s = format (s, "\n");
+    }
 
     fct = fib_entry_get_default_chain_type(fib_entry);
 
@@ -1427,6 +1427,15 @@ fib_entry_get_best_source (fib_node_index_t entry_index)
     return (fib_entry_src_get_source(bsrc));
 }
 
+/**
+ * Return !0 is the entry represents a host prefix
+ */
+int
+fib_entry_is_host (fib_node_index_t fib_entry_index)
+{
+    return (fib_prefix_is_host(fib_entry_get_prefix(fib_entry_index)));
+}
+
 /**
  * Return !0 is the entry is reoslved, i.e. will return a valid forwarding
  * chain
@@ -1486,6 +1495,16 @@ fib_entry_set_flow_hash_config (fib_node_index_t fib_entry_index,
     }
 }
 
+u32
+fib_entry_get_stats_index (fib_node_index_t fib_entry_index)
+{
+    fib_entry_t *fib_entry;
+
+    fib_entry = fib_entry_get(fib_entry_index);
+
+    return (fib_entry->fe_lb.dpoi_index);
+}
+
 static int
 fib_ip4_address_compare (const ip4_address_t * a1,
                          const ip4_address_t * a2)
@@ -1599,14 +1618,14 @@ fib_entry_encode (fib_node_index_t fib_entry_index,
     }
 }
 
-void
-fib_entry_get_prefix (fib_node_index_t fib_entry_index,
-                     fib_prefix_t *pfx)
+const fib_prefix_t *
+fib_entry_get_prefix (fib_node_index_t fib_entry_index)
 {
     fib_entry_t *fib_entry;
 
     fib_entry = fib_entry_get(fib_entry_index);
-    *pfx = fib_entry->fe_prefix;
+
+    return (&fib_entry->fe_prefix);
 }
 
 u32