From ccc70f6c6e1f35e5103bd959ff5cdf7b4457756c Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Tue, 2 Oct 2018 07:28:16 -0700 Subject: Source VRF Select tests Change-Id: Id6c16462fccf890eaa0e526ad048e032c9da8800 Signed-off-by: Neale Ranns --- src/plugins/svs/svs.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/plugins/svs/svs.c') diff --git a/src/plugins/svs/svs.c b/src/plugins/svs/svs.c index d9e46a50de8..fcfddf9523e 100644 --- a/src/plugins/svs/svs.c +++ b/src/plugins/svs/svs.c @@ -37,10 +37,16 @@ svs_table_add (fib_protocol_t fproto, u32 table_id) int svs_table_delete (fib_protocol_t fproto, u32 table_id) { - u32 fib_index; + u32 fib_index, ii; fib_index = fib_table_find (fproto, table_id); + vec_foreach_index (ii, svs_itf_db[fproto]) + { + if (svs_itf_db[fproto][ii] == fib_index) + return VNET_API_ERROR_INSTANCE_IN_USE; + } + if (~0 == fib_index) return VNET_API_ERROR_NO_SUCH_FIB; @@ -193,7 +199,7 @@ svs_disable (fib_protocol_t fproto, u32 table_id, u32 sw_if_index) if (~0 == fib_index) return VNET_API_ERROR_NO_SUCH_FIB; - if (sw_if_index <= vec_len (svs_itf_db[fproto])) + if (sw_if_index >= vec_len (svs_itf_db[fproto])) return VNET_API_ERROR_INVALID_SW_IF_INDEX; svs_itf_db[fproto][sw_if_index] = ~0; -- cgit 1.2.3-korg