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 | |
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')
-rw-r--r-- | src/vnet/ip/ip.api | 3 | ||||
-rw-r--r-- | src/vnet/ip/ip_api.c | 37 |
2 files changed, 3 insertions, 37 deletions
diff --git a/src/vnet/ip/ip.api b/src/vnet/ip/ip.api index e302b1e7a44..df9ce6e615a 100644 --- a/src/vnet/ip/ip.api +++ b/src/vnet/ip/ip.api @@ -362,7 +362,6 @@ autoreply define sw_interface_ip6_set_link_local_address @param vrf_id - fib table /vrf associated with the route @param lookup_in_vrf - @param classify_table_index - - @param create_vrf_if_needed - @param is_add - 1 if adding the route, 0 if deleting @param is_drop - Drop the packet @param is_unreach - Drop the packet and rate limit send ICMP unreachable @@ -388,7 +387,6 @@ autoreply define ip_add_del_route u32 table_id; u32 classify_table_index; u32 next_hop_table_id; - u8 create_vrf_if_needed; u8 is_add; u8 is_drop; u8 is_unreach; @@ -430,7 +428,6 @@ autoreply define ip_mroute_add_del u32 itf_flags; u32 rpf_id; u16 grp_address_length; - u8 create_vrf_if_needed; u8 is_add; u8 is_ipv6; u8 is_local; 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; } } |