span: API cleanup

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>
diff --git a/src/vnet/span/span.api b/src/vnet/span/span.api
index 9081243..95d5ad1 100644
--- a/src/vnet/span/span.api
+++ b/src/vnet/span/span.api
@@ -14,7 +14,17 @@
  * 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 @@
 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 @@
 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_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;
 };
diff --git a/src/vnet/span/span_api.c b/src/vnet/span/span_api.c
index 6ed58cd..dacbe2e 100644
--- a/src/vnet/span/span_api.c
+++ b/src/vnet/span/span_api.c
@@ -56,7 +56,7 @@
   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 @@
 
           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);