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);
