VOM: mroutes
[vpp.git] / src / vnet / ip / ip.api
index 954ec92..025fd57 100644 (file)
@@ -20,7 +20,7 @@
     called through a shared memory interface. 
 */
 
-option version = "1.3.0";
+option version = "1.4.0";
 import "vnet/ip/ip_types.api";
 import "vnet/fib/fib_types.api";
 import "vnet/ethernet/ethernet_types.api";
@@ -181,6 +181,7 @@ define ip_neighbor_add_del_reply
     @param dport - if non-zero include dport in flow hash
     @param proto -if non-zero include proto in flow hash
     @param reverse - if non-zero include reverse in flow hash
+    @param symmetric - if non-zero include symmetry in flow hash
 */
 autoreply define set_ip_flow_hash
 {
@@ -194,6 +195,7 @@ autoreply define set_ip_flow_hash
   u8 dport;
   u8 proto;
   u8 reverse;
+  u8 symmetric;
 };
 
 /** \brief IPv6 router advertisement config request
@@ -356,20 +358,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
@@ -514,6 +502,12 @@ define ip_mfib_dump
     @param count - the number of fib_path in path
     @param path  - array of of fib_path structures
 */
+typedef mfib_path
+{
+  vl_api_fib_path_t path;
+  u32 itf_flags;
+};
+
 manual_endian manual_print define ip_mfib_details
 {
   u32 context;
@@ -525,7 +519,7 @@ manual_endian manual_print define ip_mfib_details
   u8  src_address[4];
   u32 count;
   u32 stats_index;
-  vl_api_fib_path_t path[count];
+  vl_api_mfib_path_t path[count];
 };
 
 /** \brief Dump IP6 multicast fib table
@@ -553,7 +547,7 @@ manual_endian manual_print define ip6_mfib_details
   u8  grp_address[16];
   u8  src_address[16];
   u32 count;
-  vl_api_fib_path_t path[count];
+  vl_api_mfib_path_t path[count];
 };
 
 define ip_address_details
@@ -642,24 +636,47 @@ autoreply define ip_punt_police
   u8 is_ip6;
 };
 
+/** \brief Punt redirect type
+    @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.
+    @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
+*/
+typeonly define punt_redirect
+{
+  u32 rx_sw_if_index;
+  u32 tx_sw_if_index;
+  vl_api_address_t nh;
+};
+
 /** \brief IP punt redirect
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
+    @param punt - punt definition
     @param is_add - 1 to add neighbor, 0 to delete
-    @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
-    @param tx_sw_if_index - the TX interface to which traffic shoulde be
-                            redirected.
-    @param nh - The next-hop to redirect the traffic to.
 */
 autoreply define ip_punt_redirect
 {
   u32 client_index;
   u32 context;
-  u32 rx_sw_if_index;
-  u32 tx_sw_if_index;
+  vl_api_punt_redirect_t punt;
   u8 is_add;
-  u8 is_ip6;
-  u8 nh[16];
+};
+
+define ip_punt_redirect_dump
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u8 is_ipv6;
+};
+
+define ip_punt_redirect_details
+{
+  u32 context;
+  vl_api_punt_redirect_t punt;
 };
 
 autoreply define ip_container_proxy_add_del
@@ -732,6 +749,22 @@ autoreply define ip_source_and_port_range_check_interface_add_del
   u32 udp_out_vrf_id;
 };
 
+/** \brief Set interface source check request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param is_add - add or del
+    @param loose - strict or loose
+    @param sw_if_index - interface index
+*/
+autoreply define ip_source_check_interface_add_del
+{
+  u32 client_index;
+  u32 context;
+  u8 is_add;
+  u8 loose;
+  u32 sw_if_index;
+};
+
 /** \brief Enable/disable periodic IP neighbor scan
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request