diff options
author | Neale Ranns <nranns@cisco.com> | 2016-11-03 14:15:28 -0700 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2016-11-03 22:15:15 +0000 |
commit | bcc889cd0892a4dba9a06fc3c0ba49356c7220a4 (patch) | |
tree | 4cb6e312c627d1f4369bcd6f9a6869254a9533cc /vnet/vnet/fib/fib_test.c | |
parent | 931be3aca223e094241a92ae7184ff97375fa155 (diff) |
Crash when adding duplicate paths
Change-Id: Icd29c9013ae70f5444eb940aff4f08589e755f48
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'vnet/vnet/fib/fib_test.c')
-rw-r--r-- | vnet/vnet/fib/fib_test.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/vnet/vnet/fib/fib_test.c b/vnet/vnet/fib/fib_test.c index 49fc318cbb7..78b9ec49c11 100644 --- a/vnet/vnet/fib/fib_test.c +++ b/vnet/vnet/fib/fib_test.c @@ -2635,6 +2635,49 @@ fib_test_v4 (void) fib_entry_pool_size()); /* + * Duplicate paths: + * add a recursive with duplicate paths. Expect the duplicate to be ignored. + */ + fib_prefix_t pfx_34_1_1_1_s_32 = { + .fp_len = 32, + .fp_proto = FIB_PROTOCOL_IP4, + .fp_addr = { + .ip4.as_u32 = clib_host_to_net_u32(0x22010101), + }, + }; + fib_prefix_t pfx_34_34_1_1_s_32 = { + .fp_len = 32, + .fp_proto = FIB_PROTOCOL_IP4, + .fp_addr = { + .ip4.as_u32 = clib_host_to_net_u32(0x22220101), + }, + }; + fei = fib_table_entry_path_add(fib_index, + &pfx_34_1_1_1_s_32, + FIB_SOURCE_API, + FIB_ENTRY_FLAG_NONE, + FIB_PROTOCOL_IP4, + &pfx_34_34_1_1_s_32.fp_addr, + ~0, + fib_index, + 1, + MPLS_LABEL_INVALID, + FIB_ROUTE_PATH_FLAG_NONE); + fei = fib_table_entry_path_add(fib_index, + &pfx_34_1_1_1_s_32, + FIB_SOURCE_API, + FIB_ENTRY_FLAG_NONE, + FIB_PROTOCOL_IP4, + &pfx_34_34_1_1_s_32.fp_addr, + ~0, + fib_index, + 1, + MPLS_LABEL_INVALID, + FIB_ROUTE_PATH_FLAG_NONE); + FIB_TEST_REC_FORW(&pfx_34_1_1_1_s_32, &pfx_34_34_1_1_s_32, 0); + fib_table_entry_delete_index(fei, FIB_SOURCE_API); + + /* * CLEANUP * remove: 1.1.1.2/32, 1.1.2.0/24 and 1.1.1.1/32 * all of which are via 10.10.10.1, Itf1 |