VPP-203 Find the relative next node index by node names
[vpp.git] / vpp / vpp-api / vpe.api
index a1ea1b2..25e6eba 100644 (file)
@@ -857,7 +857,7 @@ define set_ip_flow_hash_reply {
 /** \brief IPv6 router advertisement config request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
-    @param surpress -
+    @param suppress -
     @param managed -
     @param other -
     @param ll_option -
@@ -875,7 +875,7 @@ define sw_interface_ip6nd_ra_config {
     u32 client_index;
     u32 context;
     u32 sw_if_index;
-    u8 surpress;
+    u8 suppress;
     u8  managed;
     u8 other;
     u8 ll_option;
@@ -1091,7 +1091,7 @@ define cli_request {
 */
 define cli_reply {
     u32 context;
-    u32 retval;
+    i32 retval;
     u64 reply_in_shmem;
 };
 
@@ -1392,6 +1392,7 @@ define l2fib_add_del {
     u8 is_add;
     u8 static_mac;
     u8 filter_mac;
+    u8 bvi_mac;
 };
 
 /** \brief L2 FIB add entry response
@@ -1424,7 +1425,7 @@ define l2_flags {
 */
 define l2_flags_reply {
     u32 context;
-    u32 retval;
+    i32 retval;
     u32 resulting_feature_bitmap;
 };
 
@@ -1451,7 +1452,7 @@ define bridge_flags {
 */
 define bridge_flags_reply {
     u32 context;
-    u32 retval;
+    i32 retval;
     u32 resulting_feature_bitmap;
 };
 
@@ -1480,7 +1481,7 @@ define bd_ip_mac_add_del {
 */
 define bd_ip_mac_add_del_reply {
     u32 context;
-    u32 retval;
+    i32 retval;
 };
 
 /** \brief Add/Delete classification table request
@@ -2201,18 +2202,21 @@ define lisp_add_del_locator_reply {
     @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 ip_address - array of address bytes
+    @param eid_type:
+      0 : ipv4
+      1 : ipv6
+      2 : mac
+    @param eid - EID can be ip4, ip6 or mac
     @param prefix_len - prefix len
     @param locator_set_name - name of locator_set to add/del eid-table
-    @param vni - vitual network instance
+    @param vni - virtual network instance
 */
 define lisp_add_del_local_eid {
     u32 client_index;
     u32 context;
     u8  is_add;
-    u8  is_ipv6;
-    u8  ip_address[16];
+    u8  eid_type;
+    u8  eid[16];
     u8  prefix_len;
     u8  locator_set_name[64];
     u32 vni;
@@ -2374,7 +2378,10 @@ define lisp_pitr_set_locator_set_reply {
     @param del_all - if set, delete all remote mappings
     @param vni - virtual network instance
     @param action - negative map-reply action
-    @param eid_is_ip4 - ipv4/6 of source and destination EIDs
+    @param eid_type -
+      0 : ipv4
+      1 : ipv6
+      2 : mac
     @param deid - destination EID
     @param seid - source EID
     @param rloc_num - number of remote locators
@@ -2387,7 +2394,7 @@ define lisp_add_del_remote_mapping {
     u8 del_all;
     u32 vni;
     u8 action;
-    u8 eid_is_ip4;
+    u8 eid_type;
     u8 deid[16];
     u8 seid[16];
     u8 deid_len;
@@ -2400,12 +2407,44 @@ define lisp_add_del_remote_mapping {
     @param context - returned sender context, to match reply w/ request
     @param retval - return code
 */
-
 define lisp_add_del_remote_mapping_reply {
     u32 context;
     i32 retval;
 };
 
+/** \brief add or delete LISP adjacency adjacency
+    @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 vni - virtual network instance
+    @param eid_type -
+      0 : ipv4
+      1 : ipv6
+      2 : mac
+    @param deid - destination EID
+    @param seid - source EID
+*/
+define lisp_add_del_adjacency {
+    u32 client_index;
+    u32 context;
+    u8  is_add;
+    u32 vni;
+    u8 eid_type;
+    u8 deid[16];
+    u8 seid[16];
+    u8 deid_len;
+    u8 seid_len;
+};
+
+/** \brief Reply for lisp_add_del_adjacency
+    @param context - returned sender context, to match reply w/ request
+    @param retval - return code
+*/
+define lisp_add_del_adjacency_reply {
+    u32 context;
+    i32 retval;
+};
+
 /** \brief add or delete map request itr rlocs
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
@@ -2482,26 +2521,41 @@ define lisp_locator_set_dump {
 
 /** \brief LISP local eid table status
     @param locator_set_name - name of the locator_set
-    @param eid_is_ipv6 - if non-zero the address is ipv6, else ipv4
-    @param eid_ip_address - array of address bytes
+    @param eid_type - ip4, ip6 or l2 mac address
+    @param eid - array of address bytes
     @param eid_prefix_len - prefix len
  */
 manual_java define lisp_local_eid_table_details {
     u32 context;
     u8  locator_set_name[64];
-    u8  eid_is_ipv6;
+    u8  eid_type;
     u32 vni;
-    u8  eid_ip_address[16];
+    u8  eid[16];
     u8  eid_prefix_len;
 };
 
 /** \brief Request for local eid table summary status
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
+    @param eid_set - if non-zero request info about specific mapping
+    @param vni - virtual network instance; valid only if eid_set != 0
+    @param prefix_length - prefix length if EID is IP address;
+      valid only if eid_set != 0
+    @param eid_type - EID type; valid only if eid_set != 0
+      Supported values:
+        0: EID is IPv4
+        1: EID is IPv6
+        2: EID is ethernet address
+    @param eid - endpoint identifier
  */
 define lisp_local_eid_table_dump {
     u32 client_index;
     u32 context;
+    u8  eid_set;
+    u8  prefix_length;
+    u32 vni;
+    u8  eid_type;
+    u8  eid[16];
 };
 
 /** \brief Shows relationship between vni and vrf
@@ -2688,7 +2742,7 @@ define bridge_domain_add_del {
 */
 define bridge_domain_add_del_reply {
     u32 context;
-    u32 retval;
+    i32 retval;
 };
 
 /** \brief L2 bridge domain request operational state details
@@ -3565,6 +3619,12 @@ define af_packet_delete_reply {
     @param rate_type - rate type
     @param round_type - rounding type
     @param type - policer algorithm
+    @param conform_action_type - conform action type
+    @param conform_dscp - DSCP for conform mar-and-transmit action
+    @param exceed_action_type - exceed action type
+    @param exceed_dscp - DSCP for exceed mar-and-transmit action
+    @param violate_action_type - violate action type
+    @param violate_dscp - DSCP for violate mar-and-transmit action
 */
 define policer_add_del {
     u32 client_index;
@@ -3579,6 +3639,12 @@ define policer_add_del {
     u8 rate_type;
     u8 round_type;
     u8 type;
+    u8 conform_action_type;
+    u8 conform_dscp;
+    u8 exceed_action_type;
+    u8 exceed_dscp;
+    u8 violate_action_type;
+    u8 violate_dscp;
 };
 
 /** \brief Add/del policer response
@@ -3614,6 +3680,12 @@ define policer_dump {
     @param rate_type - rate type
     @param round_type - rounding type
     @param type - policer algorithm
+    @param conform_action_type - conform action type
+    @param conform_dscp - DSCP for conform mar-and-transmit action
+    @param exceed_action_type - exceed action type
+    @param exceed_dscp - DSCP for exceed mar-and-transmit action
+    @param violate_action_type - violate action type
+    @param violate_dscp - DSCP for violate mar-and-transmit action
     @param single_rate - 1 = single rate policer, 0 = two rate policer
     @param color_aware - for hierarchical policing
     @param scale - power-of-2 shift amount for lower rates
@@ -3636,6 +3708,12 @@ manual_java define policer_details {
     u8 rate_type;
     u8 round_type;
     u8 type;
+    u8 conform_action_type;
+    u8 conform_dscp;
+    u8 exceed_action_type;
+    u8 exceed_dscp;
+    u8 violate_action_type;
+    u8 violate_dscp;
     u8 single_rate;
     u8 color_aware;
     u32 scale;
@@ -3852,9 +3930,9 @@ define classify_table_ids {
 */
 manual_java define classify_table_ids_reply {
     u32 context;
-    u32 retval;
+    i32 retval;
     u32 count;
-    u32 ids[0];
+    u32 ids[count];
 };
 
 /** \brief Classify table ids by interface index request
@@ -3878,7 +3956,7 @@ define classify_table_by_interface {
 */
 manual_java define classify_table_by_interface_reply {
     u32 context;
-    u32 retval;
+    i32 retval;
     u32 sw_if_index;
     u32 l2_table_id;
     u32 ip4_table_id;
@@ -3919,7 +3997,7 @@ manual_java define classify_table_info_reply {
     u32 next_table_index;
     u32 miss_next_index;
     u32 mask_length;
-    u8  mask[0];
+    u8  mask[mask_length];
 };
 
 /** \brief Classify sessions dump request
@@ -3950,5 +4028,86 @@ manual_java define classify_session_details {
     i32 advance;
     u32 opaque_index;
     u32 match_length;
-    u8 match[0];
+    u8 match[match_length];
+};
+
+/** \brief Enable and configure IPFIX exporter process request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param collector_address - address of IPFIX collector
+    @param collector_port - port of IPFIX IPFIX collector
+    @param src_address - address of IPFIX exporter
+    @param vrf_id - VRF / fib table ID
+    @param path_mtu - Path MTU between exporter and collector
+    @param template_interval - number of seconds after which to resend template
+*/
+define ipfix_enable {
+    u32 client_index;
+    u32 context;
+    u8 collector_address[16];
+    u16 collector_port;
+    u8 src_address[16];
+    u32 vrf_id;
+    u32 path_mtu;
+    u32 template_interval;
+};
+
+/** \brief Reply to IPFIX enable and configure request
+    @param context - sender context which was passed in the request
+*/
+define ipfix_enable_reply {
+    u32 context;
+    i32 retval;
+};
+
+/** \brief IPFIX dump request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+*/
+define ipfix_dump {
+    u32 client_index;
+    u32 context;
+};
+
+/** \brief Reply to IPFIX dump request
+    @param context - sender context which was passed in the request
+    @param collector_address - address of IPFIX collector
+    @param collector_port - port of IPFIX IPFIX collector
+    @param src_address - address of IPFIX exporter
+    @param fib_index - fib table index
+    @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 {
+    u32 context;
+    u8 collector_address[16];
+    u16 collector_port;
+    u8 src_address[16];
+    u32 fib_index;
+    u32 path_mtu;
+    u32 template_interval;
+};
+
+/** \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 {
+    u32 client_index;
+    u32 context;
+    u8 node_name[64];
+    u8 next_name[64];
+};
+
+/** \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 {
+    u32 context;
+    i32 retval;
+    u32 next_index;
 };