VAT add_locator_set api support multiple locators
[vpp.git] / vpp / vpp-api / vpe.api
index 69ef708..6aa2213 100644 (file)
@@ -1859,9 +1859,10 @@ define gre_add_del_tunnel {
     u32 client_index;
     u32 context;
     u8 is_add;
-    u32 src_address;
-    u32 dst_address;
-    u32 outer_table_id;
+    u8 is_ipv6;
+    u8 src_address[16];
+    u8 dst_address[16];
+    u32 outer_fib_id;
 };
 
 define gre_add_del_tunnel_reply {
@@ -1879,9 +1880,10 @@ define gre_tunnel_dump {
 define gre_tunnel_details {
     u32 context;
     u32 sw_if_index;
-    u32 src_address;
-    u32 dst_address;
-    u32 outer_table_id;
+    u8 is_ipv6;
+    u8 src_address[16];
+    u8 dst_address[16];
+    u32 outer_fib_id;
 };
   
 /** \brief L2 interface vlan tag rewrite configure request
@@ -2161,6 +2163,8 @@ define lisp_add_del_locator_set {
     u32 context;
     u8  is_add;
     u8  locator_set_name[64];
+    u32 locator_num;
+    u8  locators[0];
 };
 
 /** \brief Reply for locator_set add/del
@@ -3642,6 +3646,7 @@ define af_packet_delete_reply {
     @param rate_type - rate type
     @param round_type - rounding type
     @param type - policer algorithm
+    @param color_aware - 0=color-blind, 1=color-aware
     @param conform_action_type - conform action type
     @param conform_dscp - DSCP for conform mar-and-transmit action
     @param exceed_action_type - exceed action type
@@ -3662,6 +3667,7 @@ define policer_add_del {
     u8 rate_type;
     u8 round_type;
     u8 type;
+    u8 color_aware;
     u8 conform_action_type;
     u8 conform_dscp;
     u8 exceed_action_type;
@@ -3673,10 +3679,12 @@ define policer_add_del {
 /** \brief Add/del policer response
     @param context - sender context, to match reply w/ request
     @param retval - return value for request
+    @param policer_index - for add, returned index of the new policer
 */
 define policer_add_del_reply {
     u32 context;
     i32 retval;
+    u32 policer_index;
 };
 
 /** \brief Get list of policers
@@ -3749,6 +3757,58 @@ define policer_details {
     u64 last_update_time;
 };
 
+/** \brief Set/unset policer classify interface
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param sw_if_index - interface to set/unset policer classify
+    @param ip4_table_index - ip4 classify table index (~0 for skip)
+    @param ip6_table_index - ip6 classify table index (~0 for skip)
+    @param l2_table_index  -  l2 classify table index (~0 for skip)
+    @param is_add - Set if non-zero, else unset
+    Note: User is recommeneded to use just one valid table_index per call.
+          (ip4_table_index, ip6_table_index, or l2_table_index)
+*/
+define policer_classify_set_interface {
+    u32 client_index;
+    u32 context;
+    u32 sw_if_index;
+    u32 ip4_table_index;
+    u32 ip6_table_index;
+    u32 l2_table_index;
+    u8  is_add;
+};
+
+/** \brief Set/unset policer classify interface response
+    @param context - sender context, to match reply w/ request
+    @param retval - return value for request
+*/
+define policer_classify_set_interface_reply {
+    u32 context;
+    i32 retval;
+};
+
+/** \brief Get list of policer classify interfaces and tables
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param type - classify table type
+*/
+define policer_classify_dump {
+    u32 client_index;
+    u32 context;
+    u8 type;
+};
+
+/** \brief Policer iclassify operational state response.
+    @param context - sender context, to match reply w/ request
+    @param sw_if_index - software interface index
+    @param table_index - classify table index
+*/
+define policer_classify_details {
+    u32 context;
+    u32 sw_if_index;
+    u32 table_index;
+};
+
 /** \brief Create netmap
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
@@ -4134,3 +4194,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;
+};