Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
BIER in non-MPLS netowrks
[vpp.git]
/
src
/
vnet
/
fib
/
fib_entry.h
diff --git
a/src/vnet/fib/fib_entry.h
b/src/vnet/fib/fib_entry.h
index
aa1000e
..
cd2a685
100644
(file)
--- a/
src/vnet/fib/fib_entry.h
+++ b/
src/vnet/fib/fib_entry.h
@@
-42,6
+42,10
@@
typedef enum fib_source_t_ {
* Classify. A route that links directly to a classify adj
*/
FIB_SOURCE_CLASSIFY,
* Classify. A route that links directly to a classify adj
*/
FIB_SOURCE_CLASSIFY,
+ /**
+ * A route the is being 'proxied' on behalf of another device
+ */
+ FIB_SOURCE_PROXY,
/**
* Route added as a result of interface configuration.
* this will also come from the API/CLI, but the distinction is
/**
* Route added as a result of interface configuration.
* this will also come from the API/CLI, but the distinction is
@@
-56,6
+60,10
@@
typedef enum fib_source_t_ {
* A high priority source a plugin can use
*/
FIB_SOURCE_PLUGIN_HI,
* A high priority source a plugin can use
*/
FIB_SOURCE_PLUGIN_HI,
+ /**
+ * From the BIER subsystem
+ */
+ FIB_SOURCE_BIER,
/**
* From the control plane API
*/
/**
* From the control plane API
*/
@@
-136,6
+144,8
@@
STATIC_ASSERT (sizeof(fib_source_t) == 1,
#define FIB_SOURCES { \
[FIB_SOURCE_SPECIAL] = "special", \
[FIB_SOURCE_INTERFACE] = "interface", \
#define FIB_SOURCES { \
[FIB_SOURCE_SPECIAL] = "special", \
[FIB_SOURCE_INTERFACE] = "interface", \
+ [FIB_SOURCE_PROXY] = "proxy", \
+ [FIB_SOURCE_BIER] = "BIER", \
[FIB_SOURCE_API] = "API", \
[FIB_SOURCE_CLI] = "CLI", \
[FIB_SOURCE_ADJ] = "adjacency", \
[FIB_SOURCE_API] = "API", \
[FIB_SOURCE_CLI] = "CLI", \
[FIB_SOURCE_ADJ] = "adjacency", \
@@
-205,14
+215,9
@@
typedef enum fib_entry_attribute_t_ {
/**
* Marker. add new entries before this one.
*/
/**
* Marker. add new entries before this one.
*/
- FIB_ENTRY_ATTRIBUTE_LAST = FIB_ENTRY_ATTRIBUTE_
MULTICAS
T,
+ FIB_ENTRY_ATTRIBUTE_LAST = FIB_ENTRY_ATTRIBUTE_
URPF_EXEMP
T,
} fib_entry_attribute_t;
} fib_entry_attribute_t;
-/**
- * The maximum number of sources
- */
-#define FIB_ENTRY_ATTRIBUTE_MAX (FIB_ENTRY_ATTRIBUTE_LAST+1)
-
#define FIB_ENTRY_ATTRIBUTES { \
[FIB_ENTRY_ATTRIBUTE_CONNECTED] = "connected", \
[FIB_ENTRY_ATTRIBUTE_ATTACHED] = "attached", \
#define FIB_ENTRY_ATTRIBUTES { \
[FIB_ENTRY_ATTRIBUTE_CONNECTED] = "connected", \
[FIB_ENTRY_ATTRIBUTE_ATTACHED] = "attached", \
@@
-226,7
+231,7
@@
typedef enum fib_entry_attribute_t_ {
#define FOR_EACH_FIB_ATTRIBUTE(_item) \
for (_item = FIB_ENTRY_ATTRIBUTE_FIRST; \
#define FOR_EACH_FIB_ATTRIBUTE(_item) \
for (_item = FIB_ENTRY_ATTRIBUTE_FIRST; \
- _item <
FIB_ENTRY_ATTRIBUTE_MAX;
\
+ _item <
= FIB_ENTRY_ATTRIBUTE_LAST;
\
_item++)
typedef enum fib_entry_flag_t_ {
_item++)
typedef enum fib_entry_flag_t_ {
@@
-290,7
+295,7
@@
typedef struct fib_entry_src_t_ {
/**
* A vector of path extensions
*/
/**
* A vector of path extensions
*/
-
struct fib_path_ext_t_ *
fes_path_exts;
+
fib_path_ext_list_t
fes_path_exts;
/**
* The path-list created by the source
/**
* The path-list created by the source
@@
-436,6
+441,7
@@
typedef struct fib_entry_t_ {
#define FIB_ENTRY_FORMAT_DETAIL2 (0x2)
extern u8 *format_fib_entry (u8 * s, va_list * args);
#define FIB_ENTRY_FORMAT_DETAIL2 (0x2)
extern u8 *format_fib_entry (u8 * s, va_list * args);
+extern u8 *format_fib_source (u8 * s, va_list * args);
extern fib_node_index_t fib_entry_create_special(u32 fib_index,
const fib_prefix_t *prefix,
extern fib_node_index_t fib_entry_create_special(u32 fib_index,
const fib_prefix_t *prefix,