IP-punt: add documentation to the API and fix IP address init
[vpp.git] / src / vnet / ip / ip.api
index 71ad1c1..b08af56 100644 (file)
@@ -120,12 +120,15 @@ define ip_neighbor_dump
 /** \brief IP neighboors dump response
     @param context - sender context which was passed in the request
     @param sw_if_index - The interface used to reach the neighbor
+    @param stats_index - An index in the stats segment that can be used to read
+                         the counters for this neighbour.
     @param is_static - [1|0] to indicate if neighbor is statically configured
     @param is_ipv6 - [1|0] to indicate if address family is ipv[6|4]
 */
 define ip_neighbor_details {
     u32 context;
     u32 sw_if_index;
+    u32 stats_index;
     u8  is_static;
     u8  is_ipv6;
     u8  mac_address[6];
@@ -146,7 +149,7 @@ define ip_neighbor_details {
     @param mac_address - l2 address of the neighbor
     @param dst_address - ip4 or ip6 address of the neighbor
 */
-autoreply define ip_neighbor_add_del
+define ip_neighbor_add_del
 {
   u32 client_index;
   u32 context;
@@ -160,6 +163,13 @@ autoreply define ip_neighbor_add_del
   u8 dst_address[16];
 };
 
+define ip_neighbor_add_del_reply
+{
+  u32 context;
+  i32 retval;
+  u32 stats_index;
+};
+
 /** \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
@@ -346,20 +356,6 @@ autoreply define sw_interface_ip6_enable_disable
   u8 enable;                   /* set to true if enable */
 };
 
-/** \brief IPv6 set 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
-    @param address[] - the new link local address
-*/
-autoreply define sw_interface_ip6_set_link_local_address
-{
-  u32 client_index;
-  u32 context;
-  u32 sw_if_index;
-  u8 address[16];
-};
-
 /** \brief Add / del route request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
@@ -433,12 +429,32 @@ define ip_add_del_route_reply
 };
 
 /** \brief Add / del route request
+
+    Adds a route, consisting both of the MFIB entry to match packets
+    (which may already exist) and a path to send those packets down.
+    Routes can be entered repeatedly to add multiple paths.  Deletions are
+    per-path.
+
     @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
-    @param next_hop_afi - Use dpo_proto_t
-    FIXME
+    @param table_id - fib table /vrf associated with the route
+    @param is_add - true if adding a route; false if deleting one
+    @param is_ipv6 - true iff all the addresses are v6
+    @param entry_flags - see fib_entry_flag_t
+    @param itf_flags - see mfib_entry_flags_t
+    @param next_hop_afi - see dpo_proto_t; the type of destination description
+    @param src_address - the source of the packet
+    @param grp_address - the group the packet is destined to
+    @param nh_address - the nexthop to forward the packet to
+    @param next_hop_sw_if_index - interface to emit packet on
+
+    BIER AFIs use the BIER imposition ID.  v4 and v6 AFIs use either the
+    interface or the nexthop address.
+
+    Note that if the route is source-specific (S is supplied, not all 0s),
+    the prefix match is treated as exact (prefixlen /32 or /128).
+
+    FIXME not complete yet
 */
 define ip_mroute_add_del
 {
@@ -617,6 +633,8 @@ autoreply define ip_punt_police
     @param context - sender context, to match reply w/ request
     @param is_add - 1 to add neighbor, 0 to delete
     @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
+    @param rx_sw_if_index - specify the original RX interface of traffic
+                            that should be redirected. ~0 means any interface.
     @param tx_sw_if_index - the TX interface to which traffic shoulde be
                             redirected.
     @param nh - The next-hop to redirect the traffic to.
@@ -643,6 +661,19 @@ autoreply define ip_container_proxy_add_del
   u8 is_add;
 };
 
+define ip_container_proxy_dump
+{
+  u32 client_index;
+  u32 context;
+};
+
+define ip_container_proxy_details
+{
+  u32 context;
+  u32 sw_if_index;
+  vl_api_prefix_t prefix;
+};
+
 /** \brief Configure IP source and L4 port-range check
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request