diff options
Diffstat (limited to 'src/vnet')
-rw-r--r-- | src/vnet/span/span.api | 30 | ||||
-rw-r--r-- | src/vnet/span/span_api.c | 6 |
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); |