summaryrefslogtreecommitdiffstats
path: root/src/vnet/ip
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2017-04-06 04:41:02 -0700
committerDamjan Marion <dmarion.lists@gmail.com>2018-01-18 14:37:24 +0000
commit89541992000433b743cbbe8cb396faab42bcf6ae (patch)
tree2b09b2178270ad6de191e2eeaa5d3f49148d5a8e /src/vnet/ip
parentbf246dff1b4ea0792c0083f7e5495930b3b225f7 (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.h12
-rw-r--r--src/vnet/ip/ip_api.c8
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