VPPAPIGEN: vppapigen replacement in Python PLY.
[vpp.git] / src / vnet / classify / classify.api
index cacb9be..c22d610 100644 (file)
@@ -13,6 +13,8 @@
  * limitations under the License.
  */
 
+option version = "1.0.0";
+
 /** \brief Add/Delete classification table request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
@@ -88,8 +90,13 @@ define classify_add_del_table_reply
            2: Classified IP packets will be looked up from the
               specified ipv6 fib table (configured by metadata as VRF id).
               Only valid for L3 input ACL node
+           3: Classified packet will be steered to source routig policy
+              of given index (in metadata).
+              This is only valid for IPv6 packets redirected to a source
+              routing node.
     @param metadata - valid only if action != 0
            VRF id if action is 1 or 2.
+           sr policy index if action is 3.
     @param match[] - for add, match value for session, required
 */
 autoreply define classify_add_del_session
@@ -319,6 +326,64 @@ define flow_classify_details {
     u32 table_index;
 };
 
+/** \brief Set/unset the classification table for an interface request 
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param is_ipv6 - ipv6 if non-zero, else ipv4
+    @param sw_if_index - interface to associate with the table
+    @param table_index - index of the table, if ~0 unset the table
+*/
+autoreply define classify_set_interface_ip_table
+{
+  u32 client_index;
+  u32 context;
+  u8 is_ipv6;
+  u32 sw_if_index;
+  u32 table_index;             /* ~0 => off */
+};
+
+/** \brief Set/unset l2 classification tables for an 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/unset tables for
+    @param ip4_table_index - ip4 index, use ~0 for all 3 indexes to unset
+    @param ip6_table_index - ip6 index
+    @param other_table_index - other index
+*/
+autoreply define classify_set_interface_l2_tables
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  /* 3 x ~0 => off */
+  u32 ip4_table_index;
+  u32 ip6_table_index;
+  u32 other_table_index;
+  u8 is_input;
+};
+
+/** \brief Set/unset input ACL interface
+    @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/unset input ACL
+    @param ip4_table_index - ip4 classify table index (~0 for skip)
+    @param ip6_table_index - ip6 classify table index (~0 for skip)
+    @param l2_table_index  -  l2 classify table index (~0 for skip)
+    @param is_add - Set input ACL if non-zero, else unset
+    Note: User is recommeneded to use just one valid table_index per call.
+          (ip4_table_index, ip6_table_index, or l2_table_index)
+*/
+autoreply define input_acl_set_interface
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 ip4_table_index;
+  u32 ip6_table_index;
+  u32 l2_table_index;
+  u8 is_add;
+};
+
 /*
  * Local Variables:
  * eval: (c-set-style "gnu")