X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Ffib%2Ffib_entry.h;h=5d0fb24bcb2c14054d8b58817fe63872f415c316;hb=097fa66b986f06281f603767d321ab13ab6c88c3;hp=950f0dc7974968159ba92b01178c14b58f52f2ce;hpb=c5d4317ad0425d01893dbb4afad9f16c2cde077d;p=vpp.git diff --git a/src/vnet/fib/fib_entry.h b/src/vnet/fib/fib_entry.h index 950f0dc7974..5d0fb24bcb2 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 @@ -530,7 +539,7 @@ extern void fib_entry_update (fib_node_index_t fib_entry_index, extern void fib_entry_path_add(fib_node_index_t fib_entry_index, fib_source_t source, fib_entry_flag_t flags, - const fib_route_path_t *rpath); + const fib_route_path_t *rpaths); extern void fib_entry_special_add(fib_node_index_t fib_entry_index, fib_source_t source, fib_entry_flag_t flags, @@ -544,7 +553,7 @@ extern fib_entry_src_flag_t fib_entry_special_remove(fib_node_index_t fib_entry_ extern fib_entry_src_flag_t fib_entry_path_remove(fib_node_index_t fib_entry_index, fib_source_t source, - const fib_route_path_t *rpath); + const fib_route_path_t *rpaths); extern void fib_entry_inherit(fib_node_index_t cover, fib_node_index_t covered); @@ -592,9 +601,8 @@ extern u32 fib_entry_get_resolving_interface_for_source( fib_node_index_t fib_entry_index, fib_source_t source); -extern void fib_entry_encode(fib_node_index_t fib_entry_index, - fib_route_path_encode_t **api_rpaths); -extern const fib_prefix_t *fib_entry_get_prefix(fib_node_index_t fib_entry_index); +extern fib_route_path_t* fib_entry_encode(fib_node_index_t fib_entry_index); +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, @@ -618,6 +626,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. */