Modify return values of L2 bridge API handlers 51/14951/4
authorAlexander Chernavin <achernavin@netgate.com>
Mon, 24 Sep 2018 09:42:01 +0000 (05:42 -0400)
committerJohn Lo <loj@cisco.com>
Wed, 26 Sep 2018 15:13:06 +0000 (15:13 +0000)
Change-Id: Ie6a6dde1fdc0e4fa8560682072a69876867a88d3
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
src/vnet/api_errno.h
src/vnet/l2/l2_api.c

index 05a4a45..fdafb7e 100644 (file)
@@ -143,7 +143,9 @@ _(BIER_BSL_UNSUP, -146, "BIER bit-string-length unsupported")               \
 _(INSTANCE_IN_USE, -147, "Instance in use")                            \
 _(INVALID_SESSION_ID, -148, "session ID out of range")                 \
 _(ACL_IN_USE_BY_LOOKUP_CONTEXT, -149, "ACL in use by a lookup context")        \
-_(INVALID_VALUE_3, -150, "Invalid value #3")
+_(INVALID_VALUE_3, -150, "Invalid value #3")                            \
+_(NON_ETHERNET, -151, "Interface is not an Ethernet interface")         \
+_(BD_ALREADY_HAS_BVI, -152, "Bridge domain already has a BVI interface")
 
 typedef enum
 {
index 3f27feb..eb04459 100644 (file)
@@ -688,6 +688,16 @@ static void
                            L2_BD_PORT_TYPE_NORMAL, 0, 0);
     }
 
+  switch (rv)
+    {
+    case MODE_ERROR_ETH:
+      rv = VNET_API_ERROR_NON_ETHERNET;
+      break;
+    case MODE_ERROR_BVI_DEF:
+      rv = VNET_API_ERROR_BD_ALREADY_HAS_BVI;
+      break;
+    }
+
   BAD_RX_SW_IF_INDEX_LABEL;
   BAD_TX_SW_IF_INDEX_LABEL;
 
@@ -746,6 +756,16 @@ static void
       rv = set_int_l2_mode (vm, vnm, MODE_L3, rx_sw_if_index, 0, pt, 0, 0);
     }
 
+  switch (rv)
+    {
+    case MODE_ERROR_ETH:
+      rv = VNET_API_ERROR_NON_ETHERNET;
+      break;
+    case MODE_ERROR_BVI_DEF:
+      rv = VNET_API_ERROR_BD_ALREADY_HAS_BVI;
+      break;
+    }
+
   BAD_RX_SW_IF_INDEX_LABEL;
   BAD_BD_ID_LABEL;
 out: