Route counters in the stats segment
[vpp.git] / src / vnet / fib / fib_entry.h
index 92333e9..9175a57 100644 (file)
@@ -64,6 +64,10 @@ typedef enum fib_source_t_ {
      * From the BIER subsystem
      */
     FIB_SOURCE_BIER,
+    /**
+     * From 6RD.
+     */
+    FIB_SOURCE_6RD,
     /**
      * From the control plane API
      */
@@ -72,6 +76,10 @@ typedef enum fib_source_t_ {
      * From the CLI.
      */
     FIB_SOURCE_CLI,
+    /**
+     * A low (below routing) priority source a plugin can use
+     */
+    FIB_SOURCE_PLUGIN_LOW,
     /**
      * LISP
      */
@@ -153,6 +161,7 @@ STATIC_ASSERT (sizeof(fib_source_t) == 1,
     [FIB_SOURCE_INTERFACE] = "interface",              \
     [FIB_SOURCE_PROXY] = "proxy",                       \
     [FIB_SOURCE_BIER] = "BIER",                                \
+    [FIB_SOURCE_6RD] = "6RD",                          \
     [FIB_SOURCE_API] = "API",                          \
     [FIB_SOURCE_CLI] = "CLI",                          \
     [FIB_SOURCE_ADJ] = "adjacency",                    \
@@ -169,6 +178,7 @@ STATIC_ASSERT (sizeof(fib_source_t) == 1,
     [FIB_SOURCE_URPF_EXEMPT] = "urpf-exempt",          \
     [FIB_SOURCE_DEFAULT_ROUTE] = "default-route",      \
     [FIB_SOURCE_PLUGIN_HI] = "plugin-hi",               \
+    [FIB_SOURCE_PLUGIN_LOW] = "plugin-low",             \
     [FIB_SOURCE_INTERPOSE] = "interpose",               \
 }
 
@@ -589,8 +599,7 @@ extern u32 fib_entry_get_resolving_interface_for_source(
 
 extern void fib_entry_encode(fib_node_index_t fib_entry_index,
                             fib_route_path_encode_t **api_rpaths);
-extern void fib_entry_get_prefix(fib_node_index_t fib_entry_index,
-                                fib_prefix_t *pfx);
+extern const fib_prefix_t *fib_entry_get_prefix(fib_node_index_t fib_entry_index);
 extern u32 fib_entry_get_fib_index(fib_node_index_t fib_entry_index);
 extern void fib_entry_set_source_data(fib_node_index_t fib_entry_index,
                                       fib_source_t source,
@@ -608,11 +617,14 @@ extern int fib_entry_is_sourced(fib_node_index_t fib_entry_index,
 
 extern fib_node_index_t fib_entry_get_path_list(fib_node_index_t fib_entry_index);
 extern int fib_entry_is_resolved(fib_node_index_t fib_entry_index);
+extern int fib_entry_is_host(fib_node_index_t fib_entry_index);
 extern void fib_entry_set_flow_hash_config(fib_node_index_t fib_entry_index,
                                            flow_hash_config_t hash_config);
 
 extern void fib_entry_module_init(void);
 
+extern u32 fib_entry_get_stats_index(fib_node_index_t fib_entry_index);
+
 /*
  * unsafe... beware the raw pointer.
  */