Add API calls for packet generator
[vpp.git] / vpp / vpp-api / vpe.api
index 841f308..2ec4d77 100644 (file)
@@ -66,7 +66,7 @@ define want_interface_events_reply {
     @param vtr_tag1
     @param vtr_tag2
 */
-manual_java define sw_interface_details {
+define sw_interface_details {
     u32 context;
     u32 sw_if_index;
 
@@ -144,7 +144,7 @@ define sw_interface_set_flags_reply {
 };
 
 /* works */
-manual_java define sw_interface_dump {
+define sw_interface_dump {
     u32 client_index;
     u32 context;
     u8 name_filter_valid;
@@ -293,7 +293,7 @@ define sw_interface_tap_dump {
     @param sw_if_index - software index of tap interface
     @param dev_name - Linux tap device name
 */
-manual_java define sw_interface_tap_details {
+define sw_interface_tap_details {
     u32 context;
     u32 sw_if_index;
     u8 dev_name[64];
@@ -612,7 +612,7 @@ define want_stats {
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-manual_java define want_stats_reply {
+define want_stats_reply {
     u32 context;
     i32 retval;
 };
@@ -624,7 +624,7 @@ manual_java define want_stats_reply {
     @param count - number of interfaces this stats block includes counters for
     @param data - contiguous block of vlib_counter_t structures 
 */
-manual_java define vnet_interface_counters {
+define vnet_interface_counters {
     /* enums - plural - in vnet/interface.h */
     u8 vnet_counter_type;
     u8 is_combined;
@@ -640,7 +640,7 @@ typeonly manual_print manual_endian define ip4_fib_counter {
     u64 bytes;
 };
 
-manual_java manual_print manual_endian define vnet_ip4_fib_counters {
+manual_print manual_endian define vnet_ip4_fib_counters {
     u32 vrf_id;
     u32 count;
     vl_api_ip4_fib_counter_t c[count];
@@ -653,7 +653,7 @@ typeonly manual_print manual_endian define ip6_fib_counter {
     u64 bytes;
 };
 
-manual_java manual_print manual_endian define vnet_ip6_fib_counters {
+manual_print manual_endian define vnet_ip6_fib_counters {
     u32 vrf_id;
     u32 count;
     vl_api_ip6_fib_counter_t c[count];
@@ -687,7 +687,7 @@ define vnet_summary_stats_reply {
     @param dst_address[] - 
     @param state
 */
-manual_java define oam_event {
+define oam_event {
     u8 dst_address[4];
     u8 state;
 };
@@ -1055,7 +1055,7 @@ define delete_loopback_reply {
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
 */
-manual_java define control_ping {
+define control_ping {
     u32 client_index;
     u32 context;
 };
@@ -1066,7 +1066,7 @@ manual_java define control_ping {
     @param retval - return code for the request
     @param vpe_pid - the pid of the vpe, returned by the server
 */
-manual_java define control_ping_reply {
+define control_ping_reply {
     u32 context;
     i32 retval;
     u32 client_index;
@@ -1738,7 +1738,7 @@ define l2tpv3_set_tunnel_cookies_reply {
     i32 retval;
 };
 
-manual_java define sw_if_l2tpv3_tunnel_details {
+define sw_if_l2tpv3_tunnel_details {
     u32 context;
     u32 sw_if_index;
     u8 interface_name[64];
@@ -1838,13 +1838,13 @@ define vxlan_add_del_tunnel_reply {
     u32 sw_if_index;
 };
 
-manual_java define vxlan_tunnel_dump {
+define vxlan_tunnel_dump {
     u32 client_index;
     u32 context;
     u32 sw_if_index;
 };
 
-manual_java define vxlan_tunnel_details {
+define vxlan_tunnel_details {
     u32 context;
     u32 sw_if_index;
     u8 src_address[16];
@@ -1870,13 +1870,13 @@ define gre_add_del_tunnel_reply {
     u32 sw_if_index;
 };
 
-manual_java define gre_tunnel_dump {
+define gre_tunnel_dump {
     u32 client_index;
     u32 context;
     u32 sw_if_index;
 };
 
-manual_java define gre_tunnel_details {
+define gre_tunnel_details {
     u32 context;
     u32 sw_if_index;
     u32 src_address;
@@ -2024,7 +2024,7 @@ define show_version {
     @param version  - version of the program
     @param build_directory - root of the workspace where the program was built
 */
-manual_java define show_version_reply {
+define show_version_reply {
    u32 context;
    i32 retval;
    u8 program[32];
@@ -2042,7 +2042,7 @@ manual_java define show_version_reply {
     @param sock_filename - socket filename
     @param num_regions - number of used memory regions
 */
-manual_java define sw_interface_vhost_user_details {
+define sw_interface_vhost_user_details {
     u32 context;
     u32 sw_if_index;
     u8 interface_name[64];
@@ -2060,21 +2060,21 @@ define sw_interface_vhost_user_dump {
     u32 context;
 };
 
-manual_java define ip_address_details {
+define ip_address_details {
     u32 client_index;
     u32 context;
     u8 ip[16];
     u8 prefix_length;
 };
 
-manual_java define ip_address_dump {
+define ip_address_dump {
     u32 client_index;
     u32 context;
     u32 sw_if_index;
     u8 is_ipv6;
 };
 
-manual_java define ip_details {
+define ip_details {
     u32 sw_if_index;
     u32 context;
 };
@@ -2093,7 +2093,7 @@ define ip_dump {
     @param filter_mac - the entry is a mac filter entry.
     @param bvi_mac - the mac address is a bridge virtual interface
 */
-manual_java define l2_fib_table_entry {
+define l2_fib_table_entry {
     u32 context;
     u32 bd_id;
     u64 mac;
@@ -2107,7 +2107,7 @@ manual_java define l2_fib_table_entry {
     @param client_index - opaque cookie to identify the sender
     @param bd_id - the l2 fib / bridge domain table identifier
 */
-manual_java define l2_fib_table_dump {
+define l2_fib_table_dump {
     u32 client_index;
     u32 context;
     u32 bd_id;
@@ -2132,13 +2132,13 @@ define vxlan_gpe_add_del_tunnel_reply {
     u32 sw_if_index;
 };
 
-manual_java define vxlan_gpe_tunnel_dump {
+define vxlan_gpe_tunnel_dump {
     u32 client_index;
     u32 context;
     u32 sw_if_index;
 };
 
-manual_java define vxlan_gpe_tunnel_details {
+define vxlan_gpe_tunnel_details {
     u32 context;
     u32 sw_if_index;
     u8 local[16];
@@ -2500,7 +2500,7 @@ define lisp_eid_table_add_del_map_reply {
     @param priority - locator priority
     @param weight - locator weight
  */
-manual_java define lisp_locator_set_details {
+define lisp_locator_set_details {
     u32 context;
     u8  local;
     u8  locator_set_name[64];
@@ -2527,7 +2527,7 @@ define lisp_locator_set_dump {
     @param eid - array of address bytes
     @param eid_prefix_len - prefix len
  */
-manual_java define lisp_local_eid_table_details {
+define lisp_local_eid_table_details {
     u32 context;
     u8  locator_set_name[64];
     u8  eid_type;
@@ -2564,7 +2564,7 @@ define lisp_local_eid_table_dump {
     @param vrf - VRF index
     @param vni - vitual network instance
   */
-manual_java define lisp_eid_table_map_details {
+define lisp_eid_table_map_details {
     u32 context;
     u32 vni;
     u32 vrf;
@@ -2579,7 +2579,7 @@ define lisp_eid_table_map_dump {
     u32 context;
 };
 
-manual_java define lisp_gpe_tunnel_details {
+define lisp_gpe_tunnel_details {
     u32 context;
     u32 tunnels;
     u8  is_ipv6;
@@ -2610,7 +2610,7 @@ define lisp_gpe_tunnel_dump {
     @param is_ipv6 - if non-zero the address is ipv6, else ipv4
     @param ip_address - array of address bytes
  */
-manual_java define lisp_map_resolver_details {
+define lisp_map_resolver_details {
     u32 context;
     u8  is_ipv6;
     u8  ip_address[16];
@@ -2629,7 +2629,7 @@ define lisp_map_resolver_dump {
     @param context - sender context, to match reply w/ request
     @param is_en - enable protocol if non-zero, else disable
 */
-manual_java define lisp_enable_disable_status_details {
+define lisp_enable_disable_status_details {
     u32 context;
     u8 feature_status;
     u8 gpe_status;
@@ -2661,6 +2661,27 @@ define lisp_get_map_request_itr_rlocs_reply {
     u8 locator_set_name[64];
 };
 
+/** \brief Request for lisp pitr status
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+*/
+define show_lisp_pitr {
+    u32 client_index;
+    u32 context;
+};
+
+/** \brief Status of lisp pitr, enable or disable
+    @param context - sender context, to match reply w/ request
+    @param status - lisp pitr enable if non-zero, else disable
+    @param locator_set_name -  name of the locator_set
+*/
+define show_lisp_pitr_reply {
+    u32 context;
+    i32 retval;
+    u8  status;
+    u8  locator_set_name[64];
+};
+
 /* Gross kludge, DGMS */
 define interface_name_renumber {
     u32 client_index;
@@ -2752,7 +2773,7 @@ define bridge_domain_add_del_reply {
     @param context - sender context, to match reply w/ request
     @param bd_id - the bridge domain id desired or ~0 to request all bds
 */
-manual_java define bridge_domain_dump {
+define bridge_domain_dump {
     u32 client_index;
     u32 context;
     u32 bd_id;
@@ -2767,7 +2788,7 @@ manual_java define bridge_domain_dump {
     @param arp_term - arp termination state on all interfaces in the bd
     @param n_sw_ifs - number of sw_if_index's in the domain
 */
-manual_java define bridge_domain_details {
+define bridge_domain_details {
     u32 context;
     u32 bd_id;
     u8 flood;
@@ -2784,7 +2805,7 @@ manual_java define bridge_domain_details {
     @param sw_if_index - sw_if_index in the domain
     @param shg - split horizon group for the interface
 */
-manual_java define bridge_domain_sw_if_details {
+define bridge_domain_sw_if_details {
     u32 context;
     u32 bd_id;
     u32 sw_if_index;
@@ -3219,7 +3240,7 @@ define ikev2_set_local_key_reply {
     @param router_address - Router IP address
     @param host_mac - Host MAC address
 */
-manual_java define dhcp_compl_event {
+define dhcp_compl_event {
     u32 client_index;
     u32 pid;
     u8 hostname[64];
@@ -3324,7 +3345,7 @@ define map_domain_dump {
   u32 context;
 };
 
-manual_java define map_domain_details {
+define map_domain_details {
   u32 context;
   u32 domain_index;
   u8 ip6_prefix[16];
@@ -3347,7 +3368,7 @@ define map_rule_dump {
   u32 domain_index;
 };
 
-manual_java define map_rule_details {
+define map_rule_details {
   u32 context;
   u8 ip6_dst[16];
   u16 psid;
@@ -3699,7 +3720,7 @@ define policer_dump {
     @param extended_bucket - extended bucket
     @param last_update_time - last update time
 */
-manual_java define policer_details {
+define policer_details {
     u32 context;
 
     u8 name[64];
@@ -3801,7 +3822,7 @@ define mpls_gre_tunnel_dump {
     @param nlabels - number of resolved labels
     @param labels - resolved labels
 */
-manual_java define mpls_gre_tunnel_details {
+define mpls_gre_tunnel_details {
     u32 context;
     u32 tunnel_index;
 
@@ -3840,7 +3861,7 @@ define mpls_eth_tunnel_dump {
     @param nlabels - number of resolved labels
     @param labels - resolved labels
 */
-manual_java define mpls_eth_tunnel_details {
+define mpls_eth_tunnel_details {
     u32 context;
     u32 tunnel_index;
 
@@ -3873,7 +3894,7 @@ define mpls_fib_encap_dump {
     @param nlabels - number of resolved labels
     @param labels - resolved labels
 */
-manual_java define mpls_fib_encap_details {
+define mpls_fib_encap_details {
     u32 context;
 
     u32 fib_index;
@@ -3903,7 +3924,7 @@ define mpls_fib_decap_dump {
     @param tx_table_id - tx fib id
     @param swif_tag -
 */
-manual_java define mpls_fib_decap_details {
+define mpls_fib_decap_details {
     u32 context;
 
     u32 fib_index;
@@ -3930,7 +3951,7 @@ define classify_table_ids {
     @param count - number of ids returned in response
     @param ids - array of classify table ids
 */
-manual_java define classify_table_ids_reply {
+define classify_table_ids_reply {
     u32 context;
     i32 retval;
     u32 count;
@@ -3956,7 +3977,7 @@ define classify_table_by_interface {
     @param ip4_table_id - ip4 classify table index
     @param ip6_table_id - ip6 classify table index
 */
-manual_java define classify_table_by_interface_reply {
+define classify_table_by_interface_reply {
     u32 context;
     i32 retval;
     u32 sw_if_index;
@@ -3988,7 +4009,7 @@ define classify_table_info {
     @param miss_next_index - index of miss table
     @param mask[] - match mask
 */
-manual_java define classify_table_info_reply {
+define classify_table_info_reply {
     u32 context;
     i32 retval;
     u32 table_id;
@@ -4022,7 +4043,7 @@ define classify_session_dump {
     @param advance - advance value of session
     @param match[] - match value for session
 */ 
-manual_java define classify_session_details {
+define classify_session_details {
     u32 context;
     i32 retval;
     u32 table_id;
@@ -4080,7 +4101,7 @@ define ipfix_dump {
     @param path_mtu - Path MTU between exporter and collector
     @param template_interval - number of seconds after which to resend template
 */
-manual_java define ipfix_details {
+define ipfix_details {
     u32 context;
     u8 collector_address[16];
     u16 collector_port;
@@ -4113,3 +4134,74 @@ define get_next_index_reply {
     i32 retval;
     u32 next_index;
 };
+
+/** \brief PacketGenerator create interface request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param interface_id - interface index
+*/
+define pg_create_interface {
+    u32 client_index;
+    u32 context;
+    u32 interface_id;
+};
+
+/** \brief PacketGenerator create interface response
+    @param context - sender context, to match reply w/ request
+    @param retval - return value for request
+*/
+define pg_create_interface_reply {
+    u32 context;
+    i32 retval;
+    u32 sw_if_index;
+};
+
+/** \brief PacketGenerator capture packets on given interface request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param interface_id - pg interface index
+    @param is_enabled - 1 if enabling streams, 0 if disabling
+    @param count - number of packets to be captured
+    @param pcap_file - pacp file name to store captured packets
+*/
+define pg_capture {
+    u32 client_index;
+    u32 context;
+    u32 interface_id;
+    u8  is_enabled;
+    u32 count;
+    u32 pcap_name_length;
+    u8  pcap_file_name[pcap_name_length];
+};
+
+/** \brief PacketGenerator capture packets response
+    @param context - sender context, to match reply w/ request
+    @param retval - return value for request
+*/
+define pg_capture_reply {
+    u32 context;
+    i32 retval;
+};
+
+/** \brief Enable / disable packet generator request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param is_enabled - 1 if enabling streams, 0 if disabling
+    @param stream - stream name to be enable/disabled, if not specified handle all streams 
+*/
+define pg_enable_disable {
+    u32 client_index;
+    u32 context;
+    u8  is_enabled;
+    u32 stream_name_length;
+    u8  stream_name[stream_name_length];
+};
+
+/** \brief Reply for enable / disable packet generator
+    @param context - returned sender context, to match reply w/ request
+    @param retval - return code
+*/
+define pg_enable_disable_reply {
+    u32 context;
+    i32 retval;
+};