aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/fib/fib_table.h
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2019-12-04 06:11:00 +0000
committerOle Trøan <otroan@employees.org>2019-12-04 22:47:12 +0000
commit3bab8f9c5396a7bf1115b93a9e0691a76a9ed14c (patch)
tree0212708b47f042ac393848e0471669f837788278 /src/vnet/fib/fib_table.h
parent5f8f6173328f8d77feea5fd100e150c3094c11f0 (diff)
fib: Decouple source from priority and behaviour
Type: feature the fib_source_t enum alone no longer defines the priority and behaviour, instead each source must be allocated these attributes. This allows the creation of other sources by the plugins (and soon over the API). Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I890ee820fbc16079ee417ea1fbc163192806e853
Diffstat (limited to 'src/vnet/fib/fib_table.h')
-rw-r--r--src/vnet/fib/fib_table.h11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/vnet/fib/fib_table.h b/src/vnet/fib/fib_table.h
index 74be63d326a..59ebb0b0161 100644
--- a/src/vnet/fib/fib_table.h
+++ b/src/vnet/fib/fib_table.h
@@ -23,12 +23,6 @@
#include <vnet/mpls/packet.h>
/**
- * Keep a lock per-source and a total
- */
-#define FIB_TABLE_N_LOCKS (FIB_SOURCE_MAX+1)
-#define FIB_TABLE_TOTAL_LOCKS FIB_SOURCE_MAX
-
-/**
* Flags for the source data
*/
typedef enum fib_table_attribute_t_ {
@@ -89,7 +83,8 @@ typedef struct fib_table_t_
/**
* per-source number of locks on the table
*/
- u16 ft_locks[FIB_TABLE_N_LOCKS];
+ u16 *ft_locks;
+ u32 ft_total_locks;
/**
* Table ID (hash key) for this FIB.
@@ -109,7 +104,7 @@ typedef struct fib_table_t_
/**
* Per-source route counters
*/
- u32 ft_src_route_counts[FIB_SOURCE_MAX];
+ u32 *ft_src_route_counts;
/**
* Total route counters