FD.io VPP
v20.01-48-g3e0dafb74
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
option
version
=
"1.0.0"
;
17
18
/** \brief Add/del policer
19
@param client_index - opaque cookie to identify the sender
20
@param context - sender context, to match reply w/ request
21
@param is_add - add policer if non-zero, else delete
22
@param name - policer name
23
@param cir - CIR
24
@param eir - EIR
25
@param cb - Committed Burst
26
@param eb - Excess or Peak Burst
27
@param rate_type - rate type
28
@param round_type - rounding type
29
@param type - policer algorithm
30
@param color_aware - 0=color-blind, 1=color-aware
31
@param conform_action_type - conform action type
32
@param conform_dscp - DSCP for conform mar-and-transmit action
33
@param exceed_action_type - exceed action type
34
@param exceed_dscp - DSCP for exceed mar-and-transmit action
35
@param violate_action_type - violate action type
36
@param violate_dscp - DSCP for violate mar-and-transmit action
37
*/
38
define
policer_add_del
39
{
40
u32
client_index
;
41
u32
context
;
42
43
u8
is_add
;
44
u8
name
[64];
45
u32
cir
;
46
u32
eir
;
47
u64
cb
;
48
u64
eb
;
49
u8
rate_type
;
50
u8
round_type
;
51
u8
type
;
52
u8
color_aware
;
53
u8
conform_action_type
;
54
u8
conform_dscp
;
55
u8
exceed_action_type
;
56
u8
exceed_dscp
;
57
u8
violate_action_type
;
58
u8
violate_dscp
;
59
};
60
61
/** \brief Add/del policer response
62
@param context - sender context, to match reply w/ request
63
@param retval - return value for request
64
@param policer_index - for add, returned index of the new policer
65
*/
66
define policer_add_del_reply
67
{
68
u32
context
;
69
i32
retval
;
70
u32
policer_index
;
71
};
72
73
/** \brief Get list of policers
74
@param client_index - opaque cookie to identify the sender
75
@param context - sender context, to match reply w/ request
76
@param match_name_valid - if 0 request all policers otherwise use match_name
77
@param match_name - policer name
78
*/
79
define policer_dump
80
{
81
u32
client_index
;
82
u32
context
;
83
84
u8
match_name_valid
;
85
u8
match_name[64];
86
};
87
88
/** \brief Policer operational state response.
89
@param context - sender context, to match reply w/ request
90
@param name - policer name
91
@param cir - CIR
92
@param eir - EIR
93
@param cb - Committed Burst
94
@param eb - Excess or Peak Burst
95
@param rate_type - rate type
96
@param round_type - rounding type
97
@param type - policer algorithm
98
@param conform_action_type - conform action type
99
@param conform_dscp - DSCP for conform mar-and-transmit action
100
@param exceed_action_type - exceed action type
101
@param exceed_dscp - DSCP for exceed mar-and-transmit action
102
@param violate_action_type - violate action type
103
@param violate_dscp - DSCP for violate mar-and-transmit action
104
@param single_rate - 1 = single rate policer, 0 = two rate policer
105
@param color_aware - for hierarchical policing
106
@param scale - power-of-2 shift amount for lower rates
107
@param cir_tokens_per_period - number of tokens for each period
108
@param pir_tokens_per_period - number of tokens for each period for 2-rate policer
109
@param current_limit - current limit
110
@param current_bucket - current bucket
111
@param extended_limit - extended limit
112
@param extended_bucket - extended bucket
113
@param last_update_time - last update time
114
*/
115
define policer_details
116
{
117
u32
context
;
118
119
u8
name
[64];
120
u32
cir
;
121
u32
eir
;
122
u64
cb
;
123
u64
eb
;
124
u8
rate_type
;
125
u8
round_type
;
126
u8
type
;
127
u8
conform_action_type
;
128
u8
conform_dscp
;
129
u8
exceed_action_type
;
130
u8
exceed_dscp
;
131
u8
violate_action_type
;
132
u8
violate_dscp
;
133
u8
single_rate
;
134
u8
color_aware
;
135
u32
scale
;
136
u32
cir_tokens_per_period
;
137
u32
pir_tokens_per_period
;
138
u32
current_limit
;
139
u32
current_bucket
;
140
u32
extended_limit
;
141
u32
extended_bucket
;
142
u64
last_update_time
;
143
};
144
145
/*
146
* Local Variables:
147
* eval: (c-set-style "gnu")
148
* End:
149
*/
vl_api_policer_details_t::cb
u64 cb
Definition:
policer.api:122
vl_api_policer_add_del_t::context
u32 context
Definition:
policer.api:41
vl_api_policer_add_del_reply_t::policer_index
u32 policer_index
Definition:
policer.api:70
vl_api_policer_add_del_t::eir
u32 eir
Definition:
policer.api:46
u64
unsigned long u64
Definition:
types.h:89
version
option version
Definition:
policer.api:16
vl_api_policer_details_t::conform_action_type
u8 conform_action_type
Definition:
policer.api:127
vl_api_policer_details_t::violate_action_type
u8 violate_action_type
Definition:
policer.api:131
vl_api_policer_details_t::pir_tokens_per_period
u32 pir_tokens_per_period
Definition:
policer.api:137
vl_api_policer_dump_t::context
u32 context
Definition:
policer.api:82
vl_api_policer_details_t::exceed_dscp
u8 exceed_dscp
Definition:
policer.api:130
vl_api_policer_add_del_t::eb
u64 eb
Definition:
policer.api:48
u8
unsigned char u8
Definition:
types.h:56
vl_api_policer_dump_t::client_index
u32 client_index
Definition:
policer.api:81
vl_api_policer_details_t::cir_tokens_per_period
u32 cir_tokens_per_period
Definition:
policer.api:136
vl_api_policer_details_t::violate_dscp
u8 violate_dscp
Definition:
policer.api:132
vl_api_policer_details_t::scale
u32 scale
Definition:
policer.api:135
vl_api_policer_add_del_t::violate_dscp
u8 violate_dscp
Definition:
policer.api:58
vl_api_policer_details_t::round_type
u8 round_type
Definition:
policer.api:125
vl_api_policer_details_t::type
u8 type
Definition:
policer.api:126
vl_api_policer_details_t::color_aware
u8 color_aware
Definition:
policer.api:134
vl_api_policer_details_t::cir
u32 cir
Definition:
policer.api:120
vl_api_policer_add_del_t::is_add
u8 is_add
Definition:
policer.api:43
vl_api_policer_details_t::eir
u32 eir
Definition:
policer.api:121
u32
unsigned int u32
Definition:
types.h:88
vl_api_policer_add_del_t::cb
u64 cb
Definition:
policer.api:47
vl_api_policer_add_del_t::conform_dscp
u8 conform_dscp
Definition:
policer.api:54
vl_api_policer_add_del_t::round_type
u8 round_type
Definition:
policer.api:50
vl_api_policer_add_del_t::exceed_dscp
u8 exceed_dscp
Definition:
policer.api:56
vl_api_policer_details_t::rate_type
u8 rate_type
Definition:
policer.api:124
vl_api_policer_add_del_reply_t::retval
i32 retval
Definition:
policer.api:69
vl_api_policer_details_t::exceed_action_type
u8 exceed_action_type
Definition:
policer.api:129
vl_api_policer_details_t::eb
u64 eb
Definition:
policer.api:123
vl_api_policer_add_del_t::violate_action_type
u8 violate_action_type
Definition:
policer.api:57
vl_api_policer_add_del_t::rate_type
u8 rate_type
Definition:
policer.api:49
vl_api_policer_details_t::last_update_time
u64 last_update_time
Definition:
policer.api:142
name
string name[64]
Definition:
ip.api:44
vl_api_policer_add_del_t::color_aware
u8 color_aware
Definition:
policer.api:52
i32
signed int i32
Definition:
types.h:77
policer_add_del
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:22
vl_api_policer_details_t::extended_bucket
u32 extended_bucket
Definition:
policer.api:141
vl_api_policer_add_del_t::exceed_action_type
u8 exceed_action_type
Definition:
policer.api:55
vl_api_policer_details_t::context
u32 context
Definition:
policer.api:117
vl_api_policer_dump_t::match_name_valid
u8 match_name_valid
Definition:
policer.api:84
vl_api_policer_details_t::single_rate
u8 single_rate
Definition:
policer.api:133
vl_api_policer_details_t::extended_limit
u32 extended_limit
Definition:
policer.api:140
vl_api_policer_add_del_t::conform_action_type
u8 conform_action_type
Definition:
policer.api:53
vl_api_policer_details_t::conform_dscp
u8 conform_dscp
Definition:
policer.api:128
vl_api_policer_add_del_reply_t::context
u32 context
Definition:
policer.api:68
vl_api_policer_details_t::current_limit
u32 current_limit
Definition:
policer.api:138
vl_api_policer_add_del_t::cir
u32 cir
Definition:
policer.api:45
vl_api_policer_add_del_t::type
u8 type
Definition:
policer.api:51
vl_api_policer_add_del_t::client_index
u32 client_index
Definition:
policer.api:40
vl_api_policer_details_t::current_bucket
u32 current_bucket
Definition:
policer.api:139
src
vnet
policer
policer.api
Generated on Wed Sep 9 2020 00:05:30 for FD.io VPP by
1.8.13