FD.io VPP  v17.10-9-gd594711
Vector Packet Processing
policer.api
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015-2016 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 /** \brief Add/del policer
17  @param client_index - opaque cookie to identify the sender
18  @param context - sender context, to match reply w/ request
19  @param is_add - add policer if non-zero, else delete
20  @param name - policer name
21  @param cir - CIR
22  @param eir - EIR
23  @param cb - Committed Burst
24  @param eb - Excess or Peak Burst
25  @param rate_type - rate type
26  @param round_type - rounding type
27  @param type - policer algorithm
28  @param color_aware - 0=color-blind, 1=color-aware
29  @param conform_action_type - conform action type
30  @param conform_dscp - DSCP for conform mar-and-transmit action
31  @param exceed_action_type - exceed action type
32  @param exceed_dscp - DSCP for exceed mar-and-transmit action
33  @param violate_action_type - violate action type
34  @param violate_dscp - DSCP for violate mar-and-transmit action
35 */
37 {
40 
42  u8 name[64];
57 };
58 
59 /** \brief Add/del policer response
60  @param context - sender context, to match reply w/ request
61  @param retval - return value for request
62  @param policer_index - for add, returned index of the new policer
63 */
64 define policer_add_del_reply
65 {
69 };
70 
71 /** \brief Get list of policers
72  @param client_index - opaque cookie to identify the sender
73  @param context - sender context, to match reply w/ request
74  @param match_name_valid - if 0 request all policers otherwise use match_name
75  @param match_name - policer name
76 */
77 define policer_dump
78 {
81 
83  u8 match_name[64];
84 };
85 
86 /** \brief Policer operational state response.
87  @param context - sender context, to match reply w/ request
88  @param name - policer name
89  @param cir - CIR
90  @param eir - EIR
91  @param cb - Committed Burst
92  @param eb - Excess or Peak Burst
93  @param rate_type - rate type
94  @param round_type - rounding type
95  @param type - policer algorithm
96  @param conform_action_type - conform action type
97  @param conform_dscp - DSCP for conform mar-and-transmit action
98  @param exceed_action_type - exceed action type
99  @param exceed_dscp - DSCP for exceed mar-and-transmit action
100  @param violate_action_type - violate action type
101  @param violate_dscp - DSCP for violate mar-and-transmit action
102  @param single_rate - 1 = single rate policer, 0 = two rate policer
103  @param color_aware - for hierarchical policing
104  @param scale - power-of-2 shift amount for lower rates
105  @param cir_tokens_per_period - number of tokens for each period
106  @param pir_tokens_per_period - number of tokens for each period for 2-rate policer
107  @param current_limit - current limit
108  @param current_bucket - current bucket
109  @param extended_limit - extended limit
110  @param extended_bucket - extended bucket
111  @param last_update_time - last update time
112 */
113 define policer_details
114 {
116 
117  u8 name[64];
141 };
142 
143 /*
144  * Local Variables:
145  * eval: (c-set-style "gnu")
146  * End:
147  */
int i32
Definition: types.h:81
unsigned long u64
Definition: types.h:89
unsigned int u32
Definition: types.h:88
clib_error_t * policer_add_del(vlib_main_t *vm, u8 *name, sse2_qos_pol_cfg_params_st *cfg, u32 *policer_index, u8 is_add)
Definition: policer.c:20
unsigned char u8
Definition: types.h:56