policer: API cleanup
[vpp.git] / src / vnet / policer / policer.api
index 8ca0ffb..946cc35 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 Cisco and/or its affiliates.
+ * Copyright (c) 2015-2020 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at:
@@ -13,7 +13,9 @@
  * limitations under the License.
  */
 
-option version = "1.0.0";
+option version = "2.0.0";
+
+import "vnet/policer/policer_types.api";
 
 /** \brief Add/del policer
     @param client_index - opaque cookie to identify the sender
@@ -28,34 +30,28 @@ option version = "1.0.0";
     @param round_type - rounding type
     @param type - policer algorithm
     @param color_aware - 0=color-blind, 1=color-aware
-    @param conform_action_type - conform action type
-    @param conform_dscp - DSCP for conform mar-and-transmit action
-    @param exceed_action_type - exceed action type
-    @param exceed_dscp - DSCP for exceed mar-and-transmit action
-    @param violate_action_type - violate action type
-    @param violate_dscp - DSCP for violate mar-and-transmit action
+    @param conform_action - conform action
+    @param exceed_action - exceed action type
+    @param violate_action - violate action type
 */
 define policer_add_del
 {
   u32 client_index;
   u32 context;
 
-  u8 is_add;
-  u8 name[64];
+  bool is_add;
+  string name[64];
   u32 cir;
   u32 eir;
   u64 cb;
   u64 eb;
-  u8 rate_type;
-  u8 round_type;
-  u8 type;
-  u8 color_aware;
-  u8 conform_action_type;
-  u8 conform_dscp;
-  u8 exceed_action_type;
-  u8 exceed_dscp;
-  u8 violate_action_type;
-  u8 violate_dscp;
+  vl_api_sse2_qos_rate_type_t rate_type;
+  vl_api_sse2_qos_round_type_t round_type;
+  vl_api_sse2_qos_policer_type_t type;
+  bool color_aware;
+  vl_api_sse2_qos_action_t conform_action;
+  vl_api_sse2_qos_action_t exceed_action;
+  vl_api_sse2_qos_action_t violate_action;
 };
 
 /** \brief Add/del policer response
@@ -81,8 +77,8 @@ define policer_dump
   u32 client_index;
   u32 context;
 
-  u8 match_name_valid;
-  u8 match_name[64];
+  bool match_name_valid;
+  string match_name[64];
 };
 
 /** \brief Policer operational state response.
@@ -95,12 +91,9 @@ define policer_dump
     @param rate_type - rate type
     @param round_type - rounding type
     @param type - policer algorithm
-    @param conform_action_type - conform action type
-    @param conform_dscp - DSCP for conform mar-and-transmit action
-    @param exceed_action_type - exceed action type
-    @param exceed_dscp - DSCP for exceed mar-and-transmit action
-    @param violate_action_type - violate action type
-    @param violate_dscp - DSCP for violate mar-and-transmit action
+    @param conform_action - conform action
+    @param exceed_action - exceed action
+    @param violate_action - violate action
     @param single_rate - 1 = single rate policer, 0 = two rate policer
     @param color_aware - for hierarchical policing
     @param scale - power-of-2 shift amount for lower rates
@@ -116,22 +109,19 @@ define policer_details
 {
   u32 context;
 
-  u8 name[64];
+  string name[64];
   u32 cir;
   u32 eir;
   u64 cb;
   u64 eb;
-  u8 rate_type;
-  u8 round_type;
-  u8 type;
-  u8 conform_action_type;
-  u8 conform_dscp;
-  u8 exceed_action_type;
-  u8 exceed_dscp;
-  u8 violate_action_type;
-  u8 violate_dscp;
-  u8 single_rate;
-  u8 color_aware;
+  vl_api_sse2_qos_rate_type_t rate_type;
+  vl_api_sse2_qos_round_type_t round_type;
+  vl_api_sse2_qos_policer_type_t type;
+  vl_api_sse2_qos_action_t conform_action;
+  vl_api_sse2_qos_action_t exceed_action;
+  vl_api_sse2_qos_action_t violate_action;
+  bool single_rate;
+  bool color_aware;
   u32 scale;
   u32 cir_tokens_per_period;
   u32 pir_tokens_per_period;