Packet filter control-plane API bugfix 99/499/1
authorDave Barach <dave@barachs.net>
Mon, 7 Mar 2016 20:37:18 +0000 (15:37 -0500)
committerDave Barach <dave@barachs.net>
Mon, 7 Mar 2016 20:37:31 +0000 (15:37 -0500)
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 <dave@barachs.net>
vnet/vnet/cop/cop.c

index 3dbbbd5..a352b37 100644 (file)
@@ -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: