span: API cleanup 98/24698/3
authorJakub Grajciar <jgrajcia@cisco.com>
Fri, 31 Jan 2020 08:51:41 +0000 (09:51 +0100)
committerJakub Grajciar <jgrajcia@cisco.com>
Wed, 26 Feb 2020 09:40:58 +0000 (10:40 +0100)
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ifddac07b15b116574de3a97f7c80d7bf6a3171f7
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
MAINTAINERS
extras/vom/vom/interface_span_cmds.cpp
src/vnet/span/span.api
src/vnet/span/span_api.c

index ab317fd..d0abdff 100644 (file)
@@ -185,6 +185,11 @@ I: teib
 M:     Neale Ranns <nranns@cisco.com>
 F:     src/vnet/teib/
 
+VNET SPAN
+I:     span
+M:     N/A
+F:     src/vnet/span
+
 Crypto native Plugin
 I:     crypto-native
 M:     Damjan Marion <damarion@cisco.com>
index 72bd610..00dbdd0 100644 (file)
@@ -28,8 +28,7 @@ config_cmd::config_cmd(HW::item<bool>& item,
   , m_itf_from(itf_from)
   , m_itf_to(itf_to)
   , m_state(state)
-{
-}
+{}
 
 bool
 config_cmd::operator==(const config_cmd& o) const
@@ -47,7 +46,7 @@ config_cmd::issue(connection& con)
   payload.is_l2 = 0;
   payload.sw_if_index_from = m_itf_from.value();
   payload.sw_if_index_to = m_itf_to.value();
-  payload.state = m_state.value();
+  payload.state = (vapi_enum_span_state)m_state.value();
 
   VAPI_CALL(req.execute());
 
@@ -71,8 +70,7 @@ unconfig_cmd::unconfig_cmd(HW::item<bool>& item,
   : rpc_cmd(item)
   , m_itf_from(itf_from)
   , m_itf_to(itf_to)
-{
-}
+{}
 
 bool
 unconfig_cmd::operator==(const unconfig_cmd& o) const
@@ -89,7 +87,7 @@ unconfig_cmd::issue(connection& con)
   payload.is_l2 = 0;
   payload.sw_if_index_from = m_itf_from.value();
   payload.sw_if_index_to = m_itf_to.value();
-  payload.state = 0;
+  payload.state = SPAN_STATE_API_DISABLED;
 
   VAPI_CALL(req.execute());
 
@@ -110,9 +108,7 @@ unconfig_cmd::to_string() const
   return (s.str());
 }
 
-dump_cmd::dump_cmd()
-{
-}
+dump_cmd::dump_cmd() {}
 
 bool
 dump_cmd::operator==(const dump_cmd& other) const
index 9081243..95d5ad1 100644 (file)
  * limitations under the License.
  */
 
-option version = "1.0.0";
+option version = "2.0.0";
+
+import "vnet/interface_types.api";
+
+enum span_state
+{
+       SPAN_STATE_API_DISABLED = 0,
+       SPAN_STATE_API_RX = 1,
+       SPAN_STATE_API_TX = 2,
+       SPAN_STATE_API_RX_TX = 3,
+};
 
  /** \brief Enable/Disable span to mirror traffic from one interface to another
     @param client_index - opaque cookie to identify the sender
@@ -27,10 +37,10 @@ option version = "1.0.0";
 autoreply define sw_interface_span_enable_disable {
     u32 client_index;
     u32 context;
-    u32 sw_if_index_from;
-    u32 sw_if_index_to;
-    u8  state;
-    u8  is_l2;
+    vl_api_interface_index_t sw_if_index_from;
+    vl_api_interface_index_t sw_if_index_to;
+    vl_api_span_state_t state;
+    bool is_l2;
 };
 
 /** \brief SPAN dump request
@@ -41,7 +51,7 @@ autoreply define sw_interface_span_enable_disable {
 define sw_interface_span_dump {
     u32 client_index;
     u32 context;
-    u8 is_l2;
+    bool is_l2;
 };
 
 /** \brief Reply to SPAN dump request
@@ -53,8 +63,8 @@ define sw_interface_span_dump {
 */
 define sw_interface_span_details {
     u32 context;
-    u32 sw_if_index_from;
-    u32 sw_if_index_to;
-    u8 state;
-    u8 is_l2;
+    vl_api_interface_index_t sw_if_index_from;
+    vl_api_interface_index_t sw_if_index_to;
+    vl_api_span_state_t state;
+    bool is_l2;
 };
index 6ed58cd..dacbe2e 100644 (file)
@@ -56,7 +56,7 @@ static void
   vlib_main_t *vm = vlib_get_main ();
 
   rv = span_add_delete_entry (vm, ntohl (mp->sw_if_index_from),
-                             ntohl (mp->sw_if_index_to), mp->state,
+                             ntohl (mp->sw_if_index_to), ntohl (mp->state),
                              mp->is_l2 ? SPAN_FEAT_L2 : SPAN_FEAT_DEVICE);
 
   REPLY_MACRO (VL_API_SW_INTERFACE_SPAN_ENABLE_DISABLE_REPLY);
@@ -95,8 +95,8 @@ vl_api_sw_interface_span_dump_t_handler (vl_api_sw_interface_span_dump_t * mp)
 
           rmp->sw_if_index_from = htonl (si - sm->interfaces);
           rmp->sw_if_index_to = htonl (i);
-          rmp->state = (u8) (clib_bitmap_get (rxm->mirror_ports, i) +
-                             clib_bitmap_get (txm->mirror_ports, i) * 2);
+          rmp->state = htonl ((clib_bitmap_get (rxm->mirror_ports, i) +
+                             clib_bitmap_get (txm->mirror_ports, i) * 2));
          rmp->is_l2 = mp->is_l2;
 
           vl_api_send_msg (reg, (u8 *) rmp);