/** \file
This file defines vpe control-plane API messages which are generally
- called through a shared memory interface.
+ called through a shared memory interface.
*/
-option version = "1.0.0";
+option version = "1.7.0";
-/*
+import "vpp/api/vpe_types.api";
+
+/*
* Note: API placement cleanup in progress
* If you're looking for interface APIs, please
* see .../src/vnet/{interface.api,interface_api.c}
* IP APIs: see .../src/vnet/ip/{ip.api, ip_api.c}
- * TAP APIs: see .../src/vnet/unix/{tap.api, tap_api.c}
* VXLAN APIs: see .../src/vnet/vxlan/{vxlan.api, vxlan_api.c}
* GENEVE APIs: see .../src/vnet/geneve/{geneve.api, geneve_api.c}
* LLDP APIs: see .../src/vnet/lldp/{lldp.api, lldp_api.c}
* AF-PACKET APIs: see ... /vnet/devices/af_packet/{af_packet.api, af_packet_api.c}
- * NETMAP APIs: see ... /src/vnet/devices/netmap/{netmap.api, netmap_api.c}
* VHOST-USER APIs: see .../vnet/devices/virtio/{vhost_user.api, vhost_user_api.c}
* VXLAN GPE APIs: see .../src/vnet/vxlan-gpe/{vxlan_gpe.api, vxlan_gpe_api.c}
* GRE APIs: see .../src/vnet/gre/{gre.api, gre_api.c}
* L2TP APIs: see .../src/vnet/l2tp/{l2tp.api, l2tp_api.c}
* BFD APIs: see .../src/vnet/bfd/{bfd.api, bfd_api.c}
* IPSEC APIs: see .../src/vnet/ipsec/{ipsec.api, ipsec_api.c}
- * IPSEC-GRE APIs: see .../src/vnet/ipsec-gre/{ipsec_gre.api, ipsec_gre_api.c}
* LISP APIs: see .../src/vnet/lisp/{lisp.api, lisp_api.c}
* LISP-GPE APIs: see .../src/vnet/lisp-gpe/{lisp_gpe.api, lisp_gpe_api.c}
* SESSION APIs: .../vnet/session/{session.api session_api.c}
* DHCP APIs: see ... /src/vnet/dhcp/{dhcp.api, dhcp_api.c}
* COP APIs: see ... /src/vnet/cop/{cop.api, cop_api.c}
* POLICER APIs: see ... /src/vnet/policer/{policer.api, policer_api.c}
- * STATS APIs: see .../src/vpp/stats/{stats.api, stats.c}
- * BIER APIs: see ... /src/vnet/policer/{bier.api, bier_api.c}
+ * BIER APIs: see ... /src/vnet/policer/{bier.api, bier_api.c}.
+ * flow APIs: see .../vnet/vnet/flow/{flow.api, flow_api.c}
*/
-/** \brief Control ping from client to api server request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
-*/
-define control_ping
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief Control ping from the client to the server response
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
- @param vpe_pid - the pid of the vpe, returned by the server
-*/
-define control_ping_reply
-{
- u32 context;
- i32 retval;
- u32 client_index;
- u32 vpe_pid;
-};
-
-/** \brief Process a vpe parser cli string request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param cmd_in_shmem - pointer to cli command string
-*/
-define cli
-{
- u32 client_index;
- u32 context;
- u64 cmd_in_shmem;
-};
-define cli_inband
-{
- u32 client_index;
- u32 context;
- u32 length;
- u8 cmd[length];
-};
-
-/** \brief vpe parser cli string response
- @param context - sender context, to match reply w/ request
- @param retval - return code for request
- @param reply_in_shmem - Reply string from cli processing if any
-*/
-define cli_reply
-{
- u32 context;
- i32 retval;
- u64 reply_in_shmem;
-};
-define cli_inband_reply
-{
- u32 context;
- i32 retval;
- u32 length;
- u8 reply[length];
-};
-
-/** \brief Get node index using name request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param node_name[] - name of the node
-*/
-define get_node_index
-{
- u32 client_index;
- u32 context;
- u8 node_name[64];
-};
-
-/** \brief Get node index using name request
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
- @param node_index - index of the desired node if found, else ~0
-*/
-define get_node_index_reply
-{
- u32 context;
- i32 retval;
- u32 node_index;
-};
-
-/** \brief Set the next node for a given node request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param node_name[] - node to add the next node to
- @param next_name[] - node to add as the next node
-*/
-define add_node_next
-{
- u32 client_index;
- u32 context;
- u8 node_name[64];
- u8 next_name[64];
-};
-
-/** \brief IP Set the next node for a given node response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the add next node request
- @param next_index - the index of the next node if success, else ~0
-*/
-define add_node_next_reply
-{
- u32 context;
- i32 retval;
- u32 next_index;
-};
-
/** \brief show version
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
{
u32 context;
i32 retval;
- u8 program[32];
- u8 version[32];
- u8 build_date[32];
- u8 build_directory[256];
+ string program[32];
+ string version[32];
+ string build_date[32];
+ string build_directory[256];
};
-define get_node_graph
+/** \brief Show the current system timestamp.
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+*/
+define show_vpe_system_time
{
u32 client_index;
u32 context;
};
-/** \brief get_node_graph_reply
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
- @param reply_in_shmem - result from vlib_node_serialize, in shared
- memory. Process with vlib_node_unserialize, remember to switch
- heaps and free the result.
+/** \brief Reply for show vpe system time.
+ @param context - sender context which was passed in the request
+ @param retval - return value
+ @param vpe_system_time - the time in seconds since epoch of the host system.
*/
-
-define get_node_graph_reply
+define show_vpe_system_time_reply
{
u32 context;
i32 retval;
- u64 reply_in_shmem;
+ vl_api_timestamp_t vpe_system_time;
};
-/** \brief Query relative index via node names
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param node_name - name of node to find relative index from
- @param next_name - next node from node_name to find relative index of
-*/
-define get_next_index
-{
+define log_dump {
u32 client_index;
u32 context;
- u8 node_name[64];
- u8 next_name[64];
+ vl_api_timestamp_t start_timestamp;
};
-/** \brief Reply for get next node index
- @param context - sender context which was passed in the request
- @param retval - return value
- @param next_index - index of the next_node
-*/
-define get_next_index_reply
-{
+define log_details {
u32 context;
- i32 retval;
- u32 next_index;
+ vl_api_timestamp_t timestamp;
+ vl_api_log_level_t level;
+ string msg_class[32];
+ string message[256];
};
/*