From d255a2782a6d1634c5f1da9931b7c0c44ae2345b Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Mon, 7 Mar 2016 15:37:18 -0500 Subject: [PATCH] Packet filter control-plane API bugfix Don't complain about unknown fib-id's unless actually trying to use the indicated per-address-family fib. Change-Id: Ie8c28dbf7dac9c38193a02ff15a8529d0f90d99a Signed-off-by: Dave Barach --- vnet/vnet/cop/cop.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/vnet/vnet/cop/cop.c b/vnet/vnet/cop/cop.c index 3dbbbd54b7a..a352b371818 100644 --- a/vnet/vnet/cop/cop.c +++ b/vnet/vnet/cop/cop.c @@ -257,9 +257,14 @@ int cop_whitelist_enable_disable (cop_whitelist_enable_disable_args_t *a) /* configured opaque data must match, or no supper */ p = hash_get (im4->fib_index_by_table_id, a->fib_id); if (p) - fib_index = p[0]; + fib_index = p[0]; else - return VNET_API_ERROR_NO_SUCH_FIB; + { + if (is_add) + return VNET_API_ERROR_NO_SUCH_FIB; + else + continue; + } break; case VNET_COP_IP6: @@ -267,9 +272,14 @@ int cop_whitelist_enable_disable (cop_whitelist_enable_disable_args_t *a) next_to_add_del = IP6_RX_COP_WHITELIST; p = hash_get (im6->fib_index_by_table_id, a->fib_id); if (p) - fib_index = p[0]; + fib_index = p[0]; else - return VNET_API_ERROR_NO_SUCH_FIB; + { + if (is_add) + return VNET_API_ERROR_NO_SUCH_FIB; + else + continue; + } break; case VNET_COP_DEFAULT: -- 2.16.6