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);
}));
s = format (s, "\n forwarding: ");
-// }
-// else
-// {
-// s = format (s, "\n");
-// }
+ }
+ else
+ {
+ s = format (s, "\n");
+ }
fct = fib_entry_get_default_chain_type(fib_entry);
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
}
}
+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)
}
}
-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