X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fpolicer%2Fpolicer.api;h=c3b8d7cd0610f4160f48e08f91632a69e1bae528;hb=48e26367c;hp=8ca0ffbc7919135647313e92676c4ab292fee500;hpb=9d42087149a6870965896be74dc6260f72d2cac9;p=vpp.git diff --git a/src/vnet/policer/policer.api b/src/vnet/policer/policer.api index 8ca0ffbc791..c3b8d7cd061 100644 --- a/src/vnet/policer/policer.api +++ b/src/vnet/policer/policer.api @@ -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,26 @@ * limitations under the License. */ -option version = "1.0.0"; +option version = "2.0.0"; + +import "vnet/policer/policer_types.api"; + +/** \brief policer bind: Associate/disassociate a policer with a worker thread. + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param name - policer name to bind + @param worker_index - the worker thread to bind to + @param bind_enable - Associate/disassociate +*/ +autoreply define policer_bind +{ + u32 client_index; + u32 context; + + string name[64]; + u32 worker_index; + bool bind_enable; +}; /** \brief Add/del policer @param client_index - opaque cookie to identify the sender @@ -28,34 +47,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 +94,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 +108,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 +126,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;