Augment IP_DETAILS, IP_ADDRESS_DETAILS with a few context fields.
[vpp.git] / src / vnet / ip / ip.api
index c811e46..0a4a9c9 100644 (file)
@@ -116,7 +116,7 @@ define ip_neighbor_dump
 */
 define ip_neighbor_details {
     u32 context;
-    u32 is_static;
+    u is_static;
     u8  is_ipv6;
     u8  mac_address[6];
     u8  ip_address[16];
@@ -311,7 +311,6 @@ define sw_interface_ip6_enable_disable_reply
     @param context - sender context, to match reply w/ request
     @param sw_if_index - interface to set link local on
     @param address[] - the new link local address
-    @param address_length - link local address length
 */
 define sw_interface_ip6_set_link_local_address
 {
@@ -319,7 +318,6 @@ define sw_interface_ip6_set_link_local_address
   u32 context;
   u32 sw_if_index;
   u8 address[16];
-  u8 address_length;
 };
 
 /** \brief IPv6 set link local address on interface response
@@ -397,12 +395,49 @@ define ip_add_del_route_reply
   i32 retval;
 };
 
+/** \brief Add / del route request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param sw_if_index - software index of the new vlan's parent interface
+    @param vrf_id - fib table /vrf associated with the route
+
+    FIXME
+*/
+define ip_mroute_add_del
+{
+  u32 client_index;
+  u32 context;
+  u32 next_hop_sw_if_index;
+  u32 table_id;
+  u32 entry_flags;
+  u32 itf_flags;
+  u16 grp_address_length;
+  u8 create_vrf_if_needed;
+  u8 is_add;
+  u8 is_ipv6;
+  u8 is_local;
+  u8 grp_address[16];
+  u8 src_address[16];
+};
+
+/** \brief Reply for add / del mroute request
+    @param context - returned sender context, to match reply w/ request
+    @param retval - return code
+*/
+define ip_mroute_add_del_reply
+{
+  u32 context;
+  i32 retval;
+};
+
 define ip_address_details
 {
   u32 client_index;
   u32 context;
   u8 ip[16];
   u8 prefix_length;
+  u32 sw_if_index;
+  u8 is_ipv6;
 };
 
 define ip_address_dump
@@ -417,6 +452,7 @@ define ip_details
 {
   u32 sw_if_index;
   u32 context;
+  u8 is_ipv6;
 };
 
 define ip_dump
@@ -426,6 +462,24 @@ define ip_dump
   u8 is_ipv6;
 };
 
+define mfib_signal_dump
+{
+  u32 client_index;
+  u32 context;
+};
+
+define mfib_signal_details
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 table_id;
+  u16 grp_address_len;
+  u8 grp_address[16];
+  u8 src_address[16];
+  u16 ip_packet_len;
+  u8 ip_packet_data[256];
+};
 
 /*
  * Local Variables: