aboutsummaryrefslogtreecommitdiffstats
path: root/vpp
diff options
context:
space:
mode:
authorAkshayaNadahalli <anadahal@cisco.com>2016-08-09 13:38:04 +0530
committerDave Barach <openvpp@barachs.net>2016-11-03 11:44:21 +0000
commited4a2fdd4d62c46a2237157cd3a72bda16fceb6a (patch)
tree1fa59d681435a39f3b7f840b60229f8c3edf4f19 /vpp
parent273c26a531bf031b3426588041bad67fe7f0a246 (diff)
Adding Sequence Number - Per Packet Counter(PPC) support for iOAM6.
- Added support in classifier session to identify a flow to be iOAM6 encap/decap - Sequence number as part of iOAM6 E2E header is created as a plugin. Change-Id: Ib7605de45aecff25d684d099b525f8dc96ee7038 Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
Diffstat (limited to 'vpp')
-rw-r--r--vpp/vpp-api/api.c3
-rw-r--r--vpp/vpp-api/custom_dump.c40
-rw-r--r--vpp/vpp-api/vpe.api8
3 files changed, 46 insertions, 5 deletions
diff --git a/vpp/vpp-api/api.c b/vpp/vpp-api/api.c
index 81cd8c358ff..c1f826391ce 100644
--- a/vpp/vpp-api/api.c
+++ b/vpp/vpp-api/api.c
@@ -7233,7 +7233,8 @@ vl_api_ioam_enable_t_handler (vl_api_ioam_enable_t * mp)
/* Ignoring the profile id as currently a single profile
* is supported */
- error = ip6_ioam_enable (mp->trace_enable, mp->pow_enable, mp->trace_ppc);
+ error = ip6_ioam_enable (mp->trace_enable, mp->pot_enable,
+ mp->seqno, mp->analyse);
if (error)
{
clib_error_report (error);
diff --git a/vpp/vpp-api/custom_dump.c b/vpp/vpp-api/custom_dump.c
index 6406cbad3f3..45d7b96a203 100644
--- a/vpp/vpp-api/custom_dump.c
+++ b/vpp/vpp-api/custom_dump.c
@@ -2804,6 +2804,42 @@ static void *vl_api_get_first_msg_id_t_print
FINISH;
}
+static void *vl_api_ioam_enable_t_print
+ (vl_api_ioam_enable_t * mp, void *handle)
+{
+ u8 *s;
+
+ s = format (0, "SCRIPT: ioam_enable ");
+
+ if (mp->trace_enable)
+ s = format (s, "trace enabled");
+
+ if (mp->pot_enable)
+ s = format (s, "POT enabled");
+
+ if (mp->seqno)
+ s = format (s, "Seqno enabled");
+
+ if (mp->analyse)
+ s = format (s, "Analyse enabled");
+
+ FINISH;
+}
+
+static void *vl_api_ioam_disable_t_print
+ (vl_api_ioam_disable_t * mp, void *handle)
+{
+ u8 *s;
+
+ s = format (0, "SCRIPT: ioam_disable ");
+ s = format (s, "trace disabled");
+ s = format (s, "POT disabled");
+ s = format (s, "Seqno disabled");
+ s = format (s, "Analyse disabled");
+
+ FINISH;
+}
+
#define foreach_custom_print_no_arg_function \
_(lisp_eid_table_vni_dump) \
_(lisp_map_resolver_dump) \
@@ -2968,7 +3004,9 @@ _(L2_INTERFACE_PBB_TAG_REWRITE, l2_interface_pbb_tag_rewrite) \
_(PUNT, punt) \
_(FLOW_CLASSIFY_SET_INTERFACE, flow_classify_set_interface) \
_(FLOW_CLASSIFY_DUMP, flow_classify_dump) \
-_(GET_FIRST_MSG_ID, get_first_msg_id)
+_(GET_FIRST_MSG_ID, get_first_msg_id) \
+_(IOAM_ENABLE, ioam_enable) \
+_(IOAM_DISABLE, ioam_disable)
void
vl_msg_api_custom_dump_configure (api_main_t * am)
{
diff --git a/vpp/vpp-api/vpe.api b/vpp/vpp-api/vpe.api
index c5eacce5413..3ec41abc3b1 100644
--- a/vpp/vpp-api/vpe.api
+++ b/vpp/vpp-api/vpe.api
@@ -4124,7 +4124,8 @@ define sw_interface_clear_stats_reply
/** \brief IOAM enable : Enable in-band OAM
@param id - profile id
- @param trace_ppc - Trace PPC (none/encap/decap)
+ @param seqno - To enable Seqno Processing
+ @param analyse - Enabling analysis of iOAM at decap node
@param pow_enable - Proof of Work enabled or not flag
@param trace_enable - iOAM Trace enabled or not flag
*/
@@ -4133,8 +4134,9 @@ define ioam_enable
u32 client_index;
u32 context;
u16 id;
- u8 trace_ppc;
- u8 pow_enable;
+ u8 seqno;
+ u8 analyse;
+ u8 pot_enable;
u8 trace_enable;
u32 node_id;
};