summaryrefslogtreecommitdiffstats
path: root/src/plugins/flowprobe/flowprobe.api
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/flowprobe/flowprobe.api')
-rw-r--r--src/plugins/flowprobe/flowprobe.api40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/plugins/flowprobe/flowprobe.api b/src/plugins/flowprobe/flowprobe.api
new file mode 100644
index 00000000000..3f8c583bcf2
--- /dev/null
+++ b/src/plugins/flowprobe/flowprobe.api
@@ -0,0 +1,40 @@
+/* Define a simple enable-disable binary API to control the feature */
+
+/** \file
+ This file defines the vpp control-plane API messages
+ used to control the flowprobe plugin
+*/
+
+/** \brief Enable / disable per-packet IPFIX recording on an interface
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_add - add address if non-zero, else delete
+ @param is_ipv6 - if non-zero the address is ipv6, else ipv4
+ @param sw_if_index - index of the interface
+*/
+autoreply manual_print define flowprobe_tx_interface_add_del
+{
+ /* Client identifier, set from api_main.my_client_index */
+ u32 client_index;
+
+ /* Arbitrary context, so client can match reply to request */
+ u32 context;
+
+ /* Enable / disable the feature */
+ u8 is_add;
+ u8 which; /* 0 = ipv4, 1 = l2, 2 = ipv6 */
+
+ /* Interface handle */
+ u32 sw_if_index;
+};
+
+autoreply define flowprobe_params
+{
+ u32 client_index;
+ u32 context;
+ u8 record_l2;
+ u8 record_l3;
+ u8 record_l4;
+ u32 active_timer; /* ~0 is off, 0 is default */
+ u32 passive_timer; /* ~0 is off, 0 is default */
+};