Add new lisp API - Show pitr
[vpp.git] / vpp / vpp-api / vpe.api
index 9057de9..78a87f3 100644 (file)
@@ -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
@@ -1693,6 +1694,7 @@ define dhcp_proxy_config_2_reply {
     @param remote_session_id - remote tunnel session id
     @param local_cookie - local tunnel cookie
     @param l2_sublayer_present - l2 sublayer is present in packets if non-zero
+    @param encap_vrf_id - fib identifier used for outgoing encapsulated packets
 */
 define l2tpv3_create_tunnel {
     u32 client_index;
@@ -1705,6 +1707,7 @@ define l2tpv3_create_tunnel {
     u64 local_cookie;
     u64 remote_cookie;
     u8 l2_sublayer_present;
+    u32 encap_vrf_id;
 };
 
 /** \brief l2tpv3 tunnel interface create response
@@ -2416,29 +2419,23 @@ define lisp_add_del_remote_mapping_reply {
     @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 action - negative mapping action
     @param eid_type -
       0 : ipv4
       1 : ipv6
       2 : mac
     @param deid - destination EID
     @param seid - source EID
-    @param rloc_num - number of remote locators
-    @param rlocs - remote locator data
 */
 define lisp_add_del_adjacency {
     u32 client_index;
     u32 context;
     u8  is_add;
     u32 vni;
-    u8 action;
     u8 eid_type;
     u8 deid[16];
     u8 seid[16];
     u8 deid_len;
     u8 seid_len;
-    u32 rloc_num;
-    u8 rlocs[0];
 };
 
 /** \brief Reply for lisp_add_del_adjacency
@@ -2542,10 +2539,25 @@ manual_java define lisp_local_eid_table_details {
 /** \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
@@ -2649,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;
@@ -2732,7 +2765,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
@@ -3609,6 +3642,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;
@@ -3623,6 +3662,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
@@ -3658,6 +3703,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
@@ -3680,6 +3731,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;
@@ -3896,7 +3953,7 @@ define classify_table_ids {
 */
 manual_java define classify_table_ids_reply {
     u32 context;
-    u32 retval;
+    i32 retval;
     u32 count;
     u32 ids[count];
 };
@@ -3922,7 +3979,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;
@@ -3996,3 +4053,84 @@ manual_java define classify_session_details {
     u32 match_length;
     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;
+};