ip: add API to retrieve IPv6 link-layer address
[vpp.git] / src / vnet / ip / ip.api
index 5624bcf..0dec726 100644 (file)
@@ -20,7 +20,7 @@
     called through a shared memory interface.
 */
 
-option version = "3.0.1";
+option version = "3.0.2";
 
 import "vnet/interface_types.api";
 import "vnet/fib/fib_types.api";
@@ -124,7 +124,7 @@ autoreply define ip_table_flush
     @param context - sender context
     @param table - description of the table
 */
-manual_endian manual_print define ip_table_details
+define ip_table_details
 {
   u32 context;
   vl_api_ip_table_t table;
@@ -184,12 +184,38 @@ define ip_route_dump
 /** \brief IP FIB table entry response
     @param route The route entry in the table
 */
-manual_endian manual_print define ip_route_details
+define ip_route_details
 {
   u32 context;
   vl_api_ip_route_t route;
 };
 
+/** \brief Lookup IP route from a table
+    @param client_index - opaque cookie to identify the sender
+    @param table_id - The IP table to look the route up in
+    @param exact - 0 for normal route lookup, 1 for exact match only
+    @param prefix - The prefix (or host) for route lookup.
+*/
+define ip_route_lookup
+{
+  u32 client_index;
+  u32 context;
+  u32 table_id;
+  u8 exact;
+  vl_api_prefix_t prefix;
+};
+
+/** \brief IP FIB table lookup response
+    @param retval - return code of the lookup
+    @param route - The route entry in the table if found
+*/
+define ip_route_lookup_reply
+{
+  u32 context;
+  i32 retval;
+  vl_api_ip_route_t route;
+};
+
 /** \brief Set the ip flow hash config for a fib request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
@@ -278,7 +304,7 @@ define ip_mtable_details
 typedef ip_mroute
 {
   u32 table_id;
-  u32 entry_flags;
+  vl_api_mfib_entry_flags_t entry_flags;
   u32 rpf_id;
   vl_api_mprefix_t prefix;
   u8 n_paths;
@@ -313,7 +339,7 @@ define ip_mroute_dump
 /** \brief IP Multicast Route Details
     @param route - Details of the route
 */
-manual_endian manual_print define ip_mroute_details
+define ip_mroute_details
 {
   u32 context;
   vl_api_ip_mroute_t route;
@@ -523,6 +549,29 @@ autoreply define sw_interface_ip6_set_link_local_address
   vl_api_ip6_address_t ip;
 };
 
+/** \brief IPv6 get link local address on interface request
+    @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 link local on
+*/
+define sw_interface_ip6_get_link_local_address
+{
+  u32 client_index;
+  u32 context;
+  vl_api_interface_index_t sw_if_index;
+};
+
+/** \brief IPv6 link local address detail
+    @param context - sender context, to match reply w/ request
+    @param ip - the link local address
+*/
+define sw_interface_ip6_get_link_local_address_reply
+{
+  u32 context;
+  i32 retval;
+  vl_api_ip6_address_t ip;
+};
+
 /** \brief IOAM enable : Enable in-band OAM
     @param id - profile id
     @param seqno - To enable Seqno Processing