policer: API cleanup
[vpp.git] / src / vnet / policer / policer_types.api
1 /*
2  * Copyright (c) 2020 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 enum sse2_qos_rate_type : u8
17 {
18   SSE2_QOS_RATE_API_KBPS = 0,
19   SSE2_QOS_RATE_API_PPS,
20   SSE2_QOS_RATE_API_INVALID,
21 };
22
23 enum sse2_qos_round_type : u8
24 {
25   SSE2_QOS_ROUND_API_TO_CLOSEST = 0,
26   SSE2_QOS_ROUND_API_TO_UP,
27   SSE2_QOS_ROUND_API_TO_DOWN,
28   SSE2_QOS_ROUND_API_INVALID,
29 };
30
31 enum sse2_qos_policer_type : u8
32 {
33   SSE2_QOS_POLICER_TYPE_API_1R2C = 0,
34   SSE2_QOS_POLICER_TYPE_API_1R3C_RFC_2697 = 1,
35   SSE2_QOS_POLICER_TYPE_API_2R3C_RFC_2698 = 2,
36   SSE2_QOS_POLICER_TYPE_API_2R3C_RFC_4115 = 3,
37   SSE2_QOS_POLICER_TYPE_API_2R3C_RFC_MEF5CF1 = 4,
38   SSE2_QOS_POLICER_TYPE_API_MAX,
39 };
40
41 enum sse2_qos_action_type : u8
42 {
43   SSE2_QOS_ACTION_API_DROP = 0,
44   SSE2_QOS_ACTION_API_TRANSMIT,
45   SSE2_QOS_ACTION_API_MARK_AND_TRANSMIT,
46 };
47
48 /** \brief SSE2 QOS action
49     @param conform_action_type - conform action type
50     @param conform_dscp - DSCP for conform mark-and-transmit action
51 */
52 typedef sse2_qos_action
53 {
54   vl_api_sse2_qos_action_type_t type;
55   u8 dscp;
56 };
57
58 /*
59  * Local Variables:
60  * eval: (c-set-style "gnu")
61  * End:
62  */