diff options
author | Maxime Peim <mpeim@cisco.com> | 2023-01-06 11:57:38 +0000 |
---|---|---|
committer | Neale Ranns <neale@graphiant.com> | 2023-02-02 00:22:06 +0000 |
commit | 2d1a62bfddbba92a0aeec5c68e9b0a7903b178da (patch) | |
tree | b5a8306e9d345c18bb45a55b0cfa5786c02258f0 /src/vnet/policer/policer.api | |
parent | 3220d9f16b3db05fe9ea8d756395cd8aa7755863 (diff) |
policer: API policer selection by index
Policer API calls were only by policer name. It is now possible to
select a policer by its index.
Some functionalities are also added to allow updating a policer
configuration and to refill its token buckets.
Some dead codes are being removed, and small fixes made.
Type: improvement
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Change-Id: I4cc8fda0fc7c635a4110da3e757356b150f9b606
Diffstat (limited to 'src/vnet/policer/policer.api')
-rw-r--r-- | src/vnet/policer/policer.api | 90 |
1 files changed, 89 insertions, 1 deletions
diff --git a/src/vnet/policer/policer.api b/src/vnet/policer/policer.api index f4bf9384f10..a5a60b35c6b 100644 --- a/src/vnet/policer/policer.api +++ b/src/vnet/policer/policer.api @@ -13,7 +13,7 @@ * limitations under the License. */ -option version = "2.0.0"; +option version = "3.0.0"; import "vnet/interface_types.api"; import "vnet/policer/policer_types.api"; @@ -35,6 +35,16 @@ autoreply define policer_bind bool bind_enable; }; +autoreply define policer_bind_v2 +{ + u32 client_index; + u32 context; + + u32 policer_index; + u32 worker_index; + bool bind_enable; +}; + /** \brief policer input: Apply policer as an input feature. @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -52,6 +62,16 @@ autoreply define policer_input bool apply; }; +autoreply define policer_input_v2 +{ + u32 client_index; + u32 context; + + u32 policer_index; + vl_api_interface_index_t sw_if_index; + bool apply; +}; + /** \brief policer output: Apply policer as an output feature. @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -69,6 +89,16 @@ autoreply define policer_output bool apply; }; +autoreply define policer_output_v2 +{ + u32 client_index; + u32 context; + + u32 policer_index; + vl_api_interface_index_t sw_if_index; + bool apply; +}; + /** \brief Add/del policer @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -106,6 +136,40 @@ define policer_add_del vl_api_sse2_qos_action_t violate_action; }; +define policer_add +{ + u32 client_index; + u32 context; + + string name[64]; + vl_api_policer_config_t infos; +}; + +autoreply define policer_del +{ + u32 client_index; + u32 context; + + u32 policer_index; +}; + +autoreply define policer_update +{ + u32 client_index; + u32 context; + + u32 policer_index; + vl_api_policer_config_t infos; +}; + +autoreply define policer_reset +{ + u32 client_index; + u32 context; + + u32 policer_index; +}; + /** \brief Add/del policer response @param context - sender context, to match reply w/ request @param retval - return value for request @@ -118,6 +182,13 @@ define policer_add_del_reply u32 policer_index; }; +define policer_add_reply +{ + u32 context; + i32 retval; + u32 policer_index; +}; + /** \brief Get list of policers @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -133,6 +204,23 @@ define policer_dump string match_name[64]; }; +/** \brief Get list of policers + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param policer_index - index of policer in the pool, ~0 to request all +*/ +define policer_dump_v2 +{ + u32 client_index; + u32 context; + + u32 policer_index; +}; + +service { + rpc policer_dump_v2 returns stream policer_details; +}; + /** \brief Policer operational state response. @param context - sender context, to match reply w/ request @param name - policer name |