X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Ffib%2Ffib_entry.h;h=8ede39c1e9d711f918ab116266240c2e457767e7;hb=f4592fb626e4def1e4bf091688cc786f9859638e;hp=dcc310e8fbca6cd16912fcf756b88cb81d7b3562;hpb=56f949b9d3d1c3ba6816169fff852a51bbe47a15;p=vpp.git diff --git a/src/vnet/fib/fib_entry.h b/src/vnet/fib/fib_entry.h index dcc310e8fbc..8ede39c1e9d 100644 --- a/src/vnet/fib/fib_entry.h +++ b/src/vnet/fib/fib_entry.h @@ -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 */ @@ -157,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", \ @@ -281,6 +286,8 @@ typedef enum fib_entry_flag_t_ { FIB_ENTRY_FLAG_INTERPOSE = (1 << FIB_ENTRY_ATTRIBUTE_INTERPOSE), } __attribute__((packed)) fib_entry_flag_t; +extern u8 * format_fib_entry_flags(u8 *s, va_list *args); + /** * Flags for the source data */ @@ -332,6 +339,8 @@ typedef enum fib_entry_src_flag_t_ { FIB_ENTRY_SRC_FLAG_INHERITED = (1 << FIB_ENTRY_SRC_ATTRIBUTE_INHERITED), } __attribute__ ((packed)) fib_entry_src_flag_t; +extern u8 * format_fib_entry_src_flags(u8 *s, va_list *args); + /* * Keep the size of the flags field to 2 bytes, so it * can be placed next to the 2 bytes reference count @@ -594,8 +603,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, @@ -619,6 +627,8 @@ extern void fib_entry_set_flow_hash_config(fib_node_index_t fib_entry_index, 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. */