Add in-message cli_request/cli_reply API
[vpp.git] / vpp / vpp-api / vpe.api
index 1143c43..51862f7 100644 (file)
@@ -1183,6 +1183,13 @@ define cli_request
   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
@@ -1195,6 +1202,13 @@ define cli_reply
   i32 retval;
   u64 reply_in_shmem;
 };
+define cli_inband_reply
+{
+  u32 context;
+  i32 retval;
+  u32 length;
+  u8 reply[length];
+};
 
 /** \brief Set max allowed ARP or ip6 neighbor entries request
     @param client_index - opaque cookie to identify the sender
@@ -1731,6 +1745,7 @@ define classify_set_interface_l2_tables
   u32 ip4_table_index;
   u32 ip6_table_index;
   u32 other_table_index;
+  u8 is_input;
 };
 
 /** \brief Set/unset l2 classification tables for an interface response
@@ -2803,7 +2818,9 @@ define lisp_locator_set_dump
 /** \brief Dump lisp eid-table
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
-    @param locator_set_index - index of locator_set
+    @param locator_set_index - index of locator_set, if ~0 then the mapping
+                                is negative
+    @param action - negative map request action
     @param is_local - local if non-zero, else remote
     @param eid_type:
       0 : ipv4
@@ -2820,6 +2837,7 @@ define lisp_eid_table_details
 {
   u32 context;
   u32 locator_set_index;
+  u8 action;
   u8 is_local;
   u8 eid_type;
   u32 vni;
@@ -3068,6 +3086,7 @@ define want_ip4_arp_events_reply
     @param pid - client pid registered to receive notification
     @param sw_if_index - interface which received ARP packet
     @param new_mac - the new mac address 
+    @param mac_ip - 0: resolution event, 1: mac/ip binding in bd
 */
 define ip4_arp_event
 {
@@ -3077,8 +3096,55 @@ define ip4_arp_event
   u32 pid;
   u32 sw_if_index;
   u8 new_mac[6];
+  u8 mac_ip;
+};
+
+/** \brief Register for ip6 nd resolution events
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param enable_disable - 1 => register for events, 0 => cancel registration
+    @param pid - sender's pid
+    @param address - the exact ip6 address of interest
+*/
+define want_ip6_nd_events
+{
+  u32 client_index;
+  u32 context;
+  u8 enable_disable;
+  u32 pid;
+  u8 address[16];
+};
+
+/** \brief Reply for ip6 nd resolution events registration
+    @param context - returned sender context, to match reply w/ request
+    @param retval - return code
+*/
+define want_ip6_nd_events_reply
+{
+  u32 context;
+  i32 retval;
 };
 
+/** \brief Tell client about an ip6 nd resolution or mac/ip event
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param pid - client pid registered to receive notification
+    @param sw_if_index - interface which received ARP packet
+    @param address - the exact ip6 address of interest
+    @param new_mac - the new mac address 
+    @param mac_ip - 0: resolution event, 1: mac/ip binding in bd
+*/
+define ip6_nd_event
+{
+  u32 client_index;
+  u32 context;
+  u32 pid;
+  u32 sw_if_index;
+  u8 address[16];
+  u8 new_mac[6];
+  u8 mac_ip;
+};
+    
 /** \brief L2 bridge domain add or delete request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
@@ -4828,3 +4894,23 @@ define ipsec_gre_tunnel_details {
     u8 src_address[4];
     u8 dst_address[4];
 };
+
+/** \brief Delete sub interface request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param sw_if_index - sw index of the interface that was created by create_subif
+*/
+define delete_subif {
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+};
+
+/** \brief Delete sub interface response
+    @param context - sender context, to match reply w/ request
+    @param retval - return code for the request
+*/
+define delete_subif_reply {
+  u32 context;
+  i32 retval;
+};