summaryrefslogtreecommitdiffstats
path: root/src/plugins/ioam/ioam_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/ioam/ioam_test.c')
-rw-r--r--src/plugins/ioam/ioam_test.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/plugins/ioam/ioam_test.c b/src/plugins/ioam/ioam_test.c
index 323c8d75738..228ac07b182 100644
--- a/src/plugins/ioam/ioam_test.c
+++ b/src/plugins/ioam/ioam_test.c
@@ -16,12 +16,15 @@
#include <vat/vat.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
+#include <vnet/format_fns.h>
+#include <vnet/ip/ip_types_api.h>
clib_error_t * vxlan_gpe_ioam_export_vat_plugin_register (vat_main_t * vam);
clib_error_t * pot_vat_plugin_register (vat_main_t *vam);
clib_error_t * trace_vat_plugin_register (vat_main_t * vam);
clib_error_t * vxlan_gpe_vat_plugin_register (vat_main_t * vam);
clib_error_t * udp_ping_vat_plugin_register (vat_main_t * vam);
+clib_error_t * ioam_export_vat_plugin_register (vat_main_t * vam);
clib_error_t *
vat_plugin_register (vat_main_t *vam)
@@ -43,5 +46,22 @@ vat_plugin_register (vat_main_t *vam)
if ((err = udp_ping_vat_plugin_register (vam)))
return err;
+ if ((err = ioam_export_vat_plugin_register (vam)))
+ return err;
+
+ return 0;
+}
+uword unformat_ip46_address (unformat_input_t * input, va_list * args)
+{
+ ip46_address_t *ip46 = va_arg (*args, ip46_address_t *);
+ ip46_type_t type = va_arg (*args, ip46_type_t);
+ if ((type != IP46_TYPE_IP6) &&
+ unformat(input, "%U", unformat_ip4_address, &ip46->ip4)) {
+ ip46_address_mask_ip4(ip46);
+ return 1;
+ } else if ((type != IP46_TYPE_IP4) &&
+ unformat(input, "%U", unformat_ip6_address, &ip46->ip6)) {
+ return 1;
+ }
return 0;
}