API refactoring : dpdk
[vpp.git] / src / vnet / devices / dpdk / dpdk.api
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 DPDK interface HQoS pipe profile set request
17     @param client_index - opaque cookie to identify the sender
18     @param context - sender context, to match reply w/ request
19     @param sw_if_index - the interface
20     @param subport - subport ID
21     @param pipe - pipe ID within its subport
22     @param profile - pipe profile ID
23 */
24 define sw_interface_set_dpdk_hqos_pipe {
25     u32 client_index;
26     u32 context;
27     u32 sw_if_index;
28     u32 subport;
29     u32 pipe;
30     u32 profile;
31 };
32
33 /** \brief DPDK interface HQoS pipe profile set reply
34     @param context - sender context, to match reply w/ request
35     @param retval - request return code
36 */
37 define sw_interface_set_dpdk_hqos_pipe_reply {
38     u32 context;
39     i32 retval;
40 };
41
42 /** \brief DPDK interface HQoS subport parameters set request
43     @param client_index - opaque cookie to identify the sender
44     @param context - sender context, to match reply w/ request
45     @param sw_if_index - the interface
46     @param subport - subport ID
47     @param tb_rate - subport token bucket rate (measured in bytes/second)
48     @param tb_size - subport token bucket size (measured in credits)
49     @param tc_rate - subport traffic class 0 .. 3 rates (measured in bytes/second)
50     @param tc_period - enforcement period for rates (measured in milliseconds)
51 */
52 define sw_interface_set_dpdk_hqos_subport {
53     u32 client_index;
54     u32 context;
55     u32 sw_if_index;
56     u32 subport;
57     u32 tb_rate;
58     u32 tb_size;
59     u32 tc_rate[4];
60     u32 tc_period;
61 };
62
63 /** \brief DPDK interface HQoS subport parameters set reply
64     @param context - sender context, to match reply w/ request
65     @param retval - request return code
66 */
67 define sw_interface_set_dpdk_hqos_subport_reply {
68     u32 context;
69     i32 retval;
70 };
71
72 /** \brief DPDK interface HQoS tctbl entry set request
73     @param client_index - opaque cookie to identify the sender
74     @param context - sender context, to match reply w/ request
75     @param sw_if_index - the interface
76     @param entry - entry index ID
77     @param tc - traffic class (0 .. 3)
78     @param queue - traffic class queue (0 .. 3)
79 */
80 define sw_interface_set_dpdk_hqos_tctbl {
81     u32 client_index;
82     u32 context;
83     u32 sw_if_index;
84     u32 entry;
85     u32 tc;
86     u32 queue;
87 };
88
89 /** \brief DPDK interface HQoS tctbl entry set reply
90     @param context - sender context, to match reply w/ request
91     @param retval - request return code
92 */
93 define sw_interface_set_dpdk_hqos_tctbl_reply {
94     u32 context;
95     i32 retval;
96 };
97
98 /*
99  * Local Variables:
100  * eval: (c-set-style "gnu")
101  * End:
102  */
103