diff options
author | Neale Ranns <nranns@cisco.com> | 2017-10-13 02:43:33 -0700 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2017-10-13 23:43:35 +0000 |
commit | f9342023c19887da656133e2688a90d70383b0c5 (patch) | |
tree | ce87af209b57e2210276f6b5cebedc1ec69fdf8e /src/vnet/ip/ip_api.c | |
parent | 69cce166535e138e66d0a95f1cfe6a3591489e10 (diff) |
Enforce FIB table creation before use
last i the serise of the use of the FIB table create/delete API. VPP now forces the tables to have been explicitly creted before they are used.
Change-Id: Ifde3b1bbb76697a01ab71bce4f5264e6d1725467
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/ip/ip_api.c')
-rw-r--r-- | src/vnet/ip/ip_api.c | 37 |
1 files changed, 3 insertions, 34 deletions
diff --git a/src/vnet/ip/ip_api.c b/src/vnet/ip/ip_api.c index d9ec4b47998..f3712d3fd29 100644 --- a/src/vnet/ip/ip_api.c +++ b/src/vnet/ip/ip_api.c @@ -986,23 +986,11 @@ add_del_route_check (fib_protocol_t table_proto, { vnet_main_t *vnm = vnet_get_main (); - /* Temporaray whilst I do the CSIT dance */ - u8 create_missing_tables = 1; - *fib_index = fib_table_find (table_proto, ntohl (table_id)); if (~0 == *fib_index) { - if (create_missing_tables) - { - *fib_index = fib_table_find_or_create_and_lock (table_proto, - ntohl (table_id), - FIB_SOURCE_API); - } - else - { - /* No such VRF, and we weren't asked to create one */ - return VNET_API_ERROR_NO_SUCH_FIB; - } + /* No such VRF */ + return VNET_API_ERROR_NO_SUCH_FIB; } if (!is_rpf_id && ~0 != ntohl (next_hop_sw_if_index)) @@ -1031,26 +1019,7 @@ add_del_route_check (fib_protocol_t table_proto, if (~0 == *next_hop_fib_index) { - if (create_missing_tables) - { - if (is_rpf_id) - *next_hop_fib_index = - mfib_table_find_or_create_and_lock (fib_nh_proto, - ntohl - (next_hop_table_id), - MFIB_SOURCE_API); - else - *next_hop_fib_index = - fib_table_find_or_create_and_lock (fib_nh_proto, - ntohl - (next_hop_table_id), - FIB_SOURCE_API); - } - else - { - /* No such VRF, and we weren't asked to create one */ - return VNET_API_ERROR_NO_SUCH_FIB; - } + return VNET_API_ERROR_NO_SUCH_FIB; } } |