diff options
author | Neale Ranns <nranns@cisco.com> | 2017-03-28 03:49:52 -0700 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2017-04-01 16:48:31 +0000 |
commit | a3af337e06a79f7d1dacf42a319f241c907122fc (patch) | |
tree | 7f236558a16cf37298d57556ed8fa905a19b934b /src/vnet/fib/fib_table.h | |
parent | 8db1de83ec540e01bb0577b726770bbb2338edcb (diff) |
MTRIE Optimisations 2
1) 16-8-8 stride. Reduce trie depth walk traded with increased memory in the top PLY.
2) separate the vector of protocol-independent (PI) fib_table_t with the vector of protocol dependent (PD) FIBs. PD FIBs are large structures, we don't want to burn the memory for ech PD type
3) Go straight to the PD FIB in the data-path thus avoiding an indirection through, e.g., a PLY pool.
Change-Id: I800d1ed0b2049040d5da95213f3ed6b12bdd78b7
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/fib/fib_table.h')
-rw-r--r-- | src/vnet/fib/fib_table.h | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/src/vnet/fib/fib_table.h b/src/vnet/fib/fib_table.h index e7e66acb773..b310aea611d 100644 --- a/src/vnet/fib/fib_table.h +++ b/src/vnet/fib/fib_table.h @@ -29,18 +29,6 @@ typedef struct fib_table_t_ { /** - * A union of the protocol specific FIBs that provide the - * underlying LPM mechanism. - * This element is first in the struct so that it is in the - * first cache line. - */ - union { - ip4_fib_t v4; - ip6_fib_t v6; - mpls_fib_t mpls; - }; - - /** * Which protocol this table serves. Used to switch on the union above. */ fib_protocol_t ft_proto; |