diff options
author | Neale Ranns <nranns@cisco.com> | 2017-04-06 04:41:02 -0700 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-01-18 14:37:24 +0000 |
commit | 89541992000433b743cbbe8cb396faab42bcf6ae (patch) | |
tree | 2b09b2178270ad6de191e2eeaa5d3f49148d5a8e /src/vnet/ip | |
parent | bf246dff1b4ea0792c0083f7e5495930b3b225f7 (diff) |
FIB Inherited Srouce
forwarding provided by the source is pushed to all other entries
it covers in the sub-tree
Change-Id: I2a45222ef653358f55c2436de3e3c6353cfadba2
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/ip')
-rw-r--r-- | src/vnet/ip/ip4.h | 12 | ||||
-rw-r--r-- | src/vnet/ip/ip_api.c | 8 |
2 files changed, 4 insertions, 16 deletions
diff --git a/src/vnet/ip/ip4.h b/src/vnet/ip/ip4.h index f7e5fe332b1..524a90d2616 100644 --- a/src/vnet/ip/ip4.h +++ b/src/vnet/ip/ip4.h @@ -187,18 +187,6 @@ ip4_destination_matches_interface (ip4_main_t * im, return ip4_destination_matches_route (im, key, a, ia->address_length); } -/* As above but allows for unaligned destinations (e.g. works right from IP header of packet). */ -always_inline uword -ip4_unaligned_destination_matches_route (ip4_main_t * im, - ip4_address_t * key, - ip4_address_t * dest, - uword dest_length) -{ - return 0 == - ((clib_mem_unaligned (&key->data_u32, u32) ^ dest-> - data_u32) & im->fib_masks[dest_length]); -} - always_inline int ip4_src_address_for_packet (ip_lookup_main_t * lm, u32 sw_if_index, ip4_address_t * src) diff --git a/src/vnet/ip/ip_api.c b/src/vnet/ip/ip_api.c index f4db43c9df6..0ec69e48e54 100644 --- a/src/vnet/ip/ip_api.c +++ b/src/vnet/ip/ip_api.c @@ -273,14 +273,14 @@ typedef struct vl_api_ip_fib_dump_walk_ctx_t_ fib_node_index_t *feis; } vl_api_ip_fib_dump_walk_ctx_t; -static int +static fib_table_walk_rc_t vl_api_ip_fib_dump_walk (fib_node_index_t fei, void *arg) { vl_api_ip_fib_dump_walk_ctx_t *ctx = arg; vec_add1 (ctx->feis, fei); - return (1); + return (FIB_TABLE_WALK_CONTINUE); } static void @@ -1688,7 +1688,7 @@ typedef struct api_ip6nd_proxy_fib_table_walk_ctx_t_ u32 *indices; } api_ip6nd_proxy_fib_table_walk_ctx_t; -static int +static fib_table_walk_rc_t api_ip6nd_proxy_fib_table_walk (fib_node_index_t fei, void *arg) { api_ip6nd_proxy_fib_table_walk_ctx_t *ctx = arg; @@ -1698,7 +1698,7 @@ api_ip6nd_proxy_fib_table_walk (fib_node_index_t fei, void *arg) vec_add1 (ctx->indices, fei); } - return (1); + return (FIB_TABLE_WALK_CONTINUE); } static void |