summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/vnet/span/span.api30
-rw-r--r--src/vnet/span/span_api.c6
2 files changed, 23 insertions, 13 deletions
diff --git a/src/vnet/span/span.api b/src/vnet/span/span.api
index 90812438105..95d5ad11c36 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 @@ 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;
};
diff --git a/src/vnet/span/span_api.c b/src/vnet/span/span_api.c
index 6ed58cd8b6b..dacbe2e0aa9 100644
--- a/src/vnet/span/span_api.c
+++ b/src/vnet/span/span_api.c
@@ -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);