diff options
author | Neale Ranns <nranns@cisco.com> | 2016-08-25 15:29:12 +0100 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2016-09-21 17:37:39 +0000 |
commit | 0bfe5d8c792abcdbcf27bfcc7b7b353fba04aee2 (patch) | |
tree | d600b0e2e693e766e722936744930d3bebac493c /plugins/ila-plugin/ila/ila.h | |
parent | 60537f3d83e83d0ce10a620ca99aad4eddf85f5e (diff) |
A Protocol Independent Hierarchical FIB (VPP-352)
Main Enhancements:
- Protocol Independent FIB API
- Hierarchical FIB entries. Dynamic recursive route resolution.
- Extranet Support.
- Integration of IP and MPLS forwarding.
- Separation of FIB and Adjacency databases.
- Data-Plane Object forwarding model.
Change-Id: I52dc815c0d0aa8b493e3cf6b978568f3cc82296c
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'plugins/ila-plugin/ila/ila.h')
-rw-r--r-- | plugins/ila-plugin/ila/ila.h | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/plugins/ila-plugin/ila/ila.h b/plugins/ila-plugin/ila/ila.h index b800fdd7b7a..657511f00f2 100644 --- a/plugins/ila-plugin/ila/ila.h +++ b/plugins/ila-plugin/ila/ila.h @@ -18,6 +18,7 @@ #include <vnet/vnet.h> #include <vnet/ip/ip.h> +#include <vnet/fib/fib_node.h> #include <vppinfra/bihash_24_8.h> #include <vppinfra/bihash_template.h> @@ -59,17 +60,32 @@ typedef enum { } ila_direction_t; typedef struct { + /** + * Fib Node base class + */ + fib_node_t ila_fib_node; ila_type_t type; ip6_address_t sir_address; ip6_address_t ila_address; - u32 ila_adj_index; + ip6_address_t next_hop; ila_csum_mode_t csum_mode; ila_direction_t dir; -} ila_entry_t; -typedef struct { - u32 entry_index; -} ila_adj_data_t; + /** + * The FIB entry index for the next-hop + */ + fib_node_index_t next_hop_fib_entry_index; + + /** + * The child index on the FIB entry + */ + u32 next_hop_child_index; + + /** + * The next DPO in the grpah to follow + */ + dpo_id_t ila_dpo; +} ila_entry_t; typedef struct { ila_entry_t *entries; //Pool of ILA entries @@ -87,6 +103,7 @@ typedef struct { typedef struct { ila_type_t type; ip6_address_t sir_address; + ip6_address_t next_hop_address; u64 locator; u32 vnid; u32 local_adj_index; |