MTRIE Optimisations 2 89/5889/6
authorNeale Ranns <nranns@cisco.com>
Tue, 28 Mar 2017 10:49:52 +0000 (03:49 -0700)
committerDamjan Marion <dmarion.lists@gmail.com>
Sat, 1 Apr 2017 16:48:31 +0000 (16:48 +0000)
commita3af337e06a79f7d1dacf42a319f241c907122fc
tree7f236558a16cf37298d57556ed8fa905a19b934b
parent8db1de83ec540e01bb0577b726770bbb2338edcb
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>
28 files changed:
src/vnet/cop/ip4_whitelist.c
src/vnet/dpo/load_balance.c
src/vnet/dpo/lookup_dpo.c
src/vnet/fib/fib.c
src/vnet/fib/fib_entry.c
src/vnet/fib/fib_path.c
src/vnet/fib/fib_table.c
src/vnet/fib/fib_table.h
src/vnet/fib/fib_test.c
src/vnet/fib/ip4_fib.c
src/vnet/fib/ip4_fib.h
src/vnet/fib/ip6_fib.c
src/vnet/fib/ip6_fib.h
src/vnet/fib/mpls_fib.c
src/vnet/fib/mpls_fib.h
src/vnet/ip/ip4.h
src/vnet/ip/ip4_forward.c
src/vnet/ip/ip4_mtrie.c
src/vnet/ip/ip4_mtrie.h
src/vnet/ip/ip4_packet.h
src/vnet/ip/ip4_source_check.c
src/vnet/ip/ip6.h
src/vnet/ip/ip_api.c
src/vnet/mpls/interface.c
src/vnet/mpls/mpls.h
src/vnet/mpls/mpls_api.c
src/vpp/api/api.c
src/vpp/stats/stats.c