summaryrefslogtreecommitdiffstats
path: root/vpp
diff options
context:
space:
mode:
authorVengada Govindan <venggovi@cisco.com>2016-08-25 10:34:34 -0700
committerOle Trøan <otroan@employees.org>2016-09-06 18:53:51 +0000
commit07d2f84907e776383572fa5cc89071d90a8be36b (patch)
tree4b2ebf15f84d7e1724b9eca6fe1b329b1a251815 /vpp
parent5a1c11b53f60f4339e893b1a24cfc6515d2b08f7 (diff)
Move iOAM Trace as a plugin
Change-Id: I78322e91485e5429871bd356f668b8ed90f4265a Signed-off-by: Vengada Govindan <venggovi@cisco.com>
Diffstat (limited to 'vpp')
-rw-r--r--vpp/vpp-api/api.c49
-rw-r--r--vpp/vpp-api/vpe.api57
2 files changed, 21 insertions, 85 deletions
diff --git a/vpp/vpp-api/api.c b/vpp/vpp-api/api.c
index ead5f0cd925..c339cb44c60 100644
--- a/vpp/vpp-api/api.c
+++ b/vpp/vpp-api/api.c
@@ -343,9 +343,8 @@ _(COP_INTERFACE_ENABLE_DISABLE, cop_interface_enable_disable) \
_(COP_WHITELIST_ENABLE_DISABLE, cop_whitelist_enable_disable) \
_(GET_NODE_GRAPH, get_node_graph) \
_(SW_INTERFACE_CLEAR_STATS, sw_interface_clear_stats) \
-_(TRACE_PROFILE_ADD, trace_profile_add) \
-_(TRACE_PROFILE_APPLY, trace_profile_apply) \
-_(TRACE_PROFILE_DEL, trace_profile_del) \
+_(IOAM_ENABLE, ioam_enable) \
+_(IOAM_DISABLE, ioam_disable) \
_(LISP_ADD_DEL_LOCATOR_SET, lisp_add_del_locator_set) \
_(LISP_ADD_DEL_LOCATOR, lisp_add_del_locator) \
_(LISP_ADD_DEL_LOCAL_EID, lisp_add_del_local_eid) \
@@ -7035,56 +7034,30 @@ vl_api_get_node_graph_t_handler (vl_api_get_node_graph_t * mp)
/* *INDENT-ON* */
}
-static void vl_api_trace_profile_add_t_handler
- (vl_api_trace_profile_add_t * mp)
+static void
+vl_api_ioam_enable_t_handler (vl_api_ioam_enable_t * mp)
{
int rv = 0;
- vl_api_trace_profile_add_reply_t *rmp;
+ vl_api_ioam_enable_reply_t *rmp;
clib_error_t *error;
/* Ignoring the profile id as currently a single profile
* is supported */
- error = ip6_ioam_trace_profile_set (mp->trace_num_elt, mp->trace_type,
- ntohl (mp->node_id),
- ntohl (mp->trace_app_data),
- mp->pow_enable, mp->trace_tsp,
- mp->trace_ppc);
+ error = ip6_ioam_enable (mp->trace_enable, mp->pow_enable, mp->trace_ppc);
if (error)
{
clib_error_report (error);
rv = clib_error_get_code (error);
}
- REPLY_MACRO (VL_API_TRACE_PROFILE_ADD_REPLY);
-}
-
-static void vl_api_trace_profile_apply_t_handler
- (vl_api_trace_profile_apply_t * mp)
-{
- int rv = 0;
- vl_api_trace_profile_apply_reply_t *rmp;
-
- if (mp->enable != 0)
- {
- rv = ip6_ioam_set_destination ((ip6_address_t *) (&mp->dest_ipv6),
- ntohl (mp->prefix_length),
- ntohl (mp->vrf_id),
- mp->trace_op == IOAM_HBYH_ADD,
- mp->trace_op == IOAM_HBYH_POP,
- mp->trace_op == IOAM_HBYH_MOD);
- }
- else
- {
- //ip6_ioam_clear_destination(&ip6, mp->prefix_length, mp->vrf_id);
- }
- REPLY_MACRO (VL_API_TRACE_PROFILE_APPLY_REPLY);
+ REPLY_MACRO (VL_API_IOAM_ENABLE_REPLY);
}
-static void vl_api_trace_profile_del_t_handler
- (vl_api_trace_profile_del_t * mp)
+static void
+vl_api_ioam_disable_t_handler (vl_api_ioam_disable_t * mp)
{
int rv = 0;
- vl_api_trace_profile_del_reply_t *rmp;
+ vl_api_ioam_disable_reply_t *rmp;
clib_error_t *error;
error = clear_ioam_rewrite_fn ();
@@ -7094,7 +7067,7 @@ static void vl_api_trace_profile_del_t_handler
rv = clib_error_get_code (error);
}
- REPLY_MACRO (VL_API_TRACE_PROFILE_DEL_REPLY);
+ REPLY_MACRO (VL_API_IOAM_DISABLE_REPLY);
}
static void
diff --git a/vpp/vpp-api/vpe.api b/vpp/vpp-api/vpe.api
index 51862f744a7..5c1502a890a 100644
--- a/vpp/vpp-api/vpe.api
+++ b/vpp/vpp-api/vpe.api
@@ -3962,87 +3962,50 @@ define sw_interface_clear_stats_reply
i32 retval;
};
-/** \brief IOAM Trace : Set TRACE profile
+/** \brief IOAM enable : Enable in-band OAM
@param id - profile id
- @param trace_type - Trace type
- @param trace_num_elt - Number of nodes in trace path
@param trace_ppc - Trace PPC (none/encap/decap)
- @param trace_tsp - Trace timestamp precision (0-sec,1-ms,2-us,3-ns)
- @param trace_app_data - Trace application data, can be any 4 bytes
@param pow_enable - Proof of Work enabled or not flag
- @param node_id - Id of this node
+ @param trace_enable - iOAM Trace enabled or not flag
*/
-define trace_profile_add
+define ioam_enable
{
u32 client_index;
u32 context;
u16 id;
- u8 trace_type;
- u8 trace_num_elt;
u8 trace_ppc;
- u8 trace_tsp;
- u32 trace_app_data;
u8 pow_enable;
+ u8 trace_enable;
u32 node_id;
};
-/** \brief Trace profile add / del response
+/** \brief iOAM Trace profile add / del response
@param context - sender context, to match reply w/ request
@param retval - return value for request
*/
-define trace_profile_add_reply
+define ioam_enable_reply
{
u32 context;
i32 retval;
};
-/** \brief IOAM Trace enable trace profile for a flow
- @param id - id of the trace profile to be applied
- @param dest_ipv6 - Destination IPv6 address
- @param prefix_length - prefix mask
- @param vrf_id - VRF ID
- @param trace_op - Trace operation (add/mod/del)
- @param enable - apply/remove the trace profile for the flow
-*/
-define trace_profile_apply
-{
- u32 client_index;
- u32 context;
- u16 id;
- u8 dest_ipv6[16];
- u32 prefix_length;
- u32 vrf_id;
- u8 trace_op;
- u8 enable;
-};
-
-/** \brief Trace profile apply response
- @param context - sender context, to match reply w/ request
- @param retval - return value for request
-*/
-define trace_profile_apply_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Delete Trace Profile
+/** \brief iOAM disable
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param index - MAP Domain index
*/
-define trace_profile_del
+define ioam_disable
{
u32 client_index;
u32 context;
u16 id;
};
-/** \brief Trace profile add / del response
+/** \brief iOAM disable response
@param context - sender context, to match reply w/ request
@param retval - return value for request
*/
-define trace_profile_del_reply
+define ioam_disable_reply
{
u32 context;
i32 retval;