FD.io VPP
v18.10-34-gcce845e
Vector Packet Processing
Main Page
Related Pages
Modules
Namespaces
Data Structures
Source
Files
Symbols
vpe.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
/** \file
17
18
This file defines vpe control-plane API messages which are generally
19
called through a shared memory interface.
20
*/
21
22
option
version
=
"1.1.0"
;
23
24
/*
25
* Note: API placement cleanup in progress
26
* If you're looking for interface APIs, please
27
* see .../src/vnet/{interface.api,interface_api.c}
28
* IP APIs: see .../src/vnet/ip/{ip.api, ip_api.c}
29
* TAP APIs: see .../src/vnet/unix/{tap.api, tap_api.c}
30
* VXLAN APIs: see .../src/vnet/vxlan/{vxlan.api, vxlan_api.c}
31
* GENEVE APIs: see .../src/vnet/geneve/{geneve.api, geneve_api.c}
32
* LLDP APIs: see .../src/vnet/lldp/{lldp.api, lldp_api.c}
33
* AF-PACKET APIs: see ... /vnet/devices/af_packet/{af_packet.api, af_packet_api.c}
34
* NETMAP APIs: see ... /src/vnet/devices/netmap/{netmap.api, netmap_api.c}
35
* VHOST-USER APIs: see .../vnet/devices/virtio/{vhost_user.api, vhost_user_api.c}
36
* VXLAN GPE APIs: see .../src/vnet/vxlan-gpe/{vxlan_gpe.api, vxlan_gpe_api.c}
37
* GRE APIs: see .../src/vnet/gre/{gre.api, gre_api.c}
38
* L2 APIs: see .../src/vnet/l2/{l2.api, l2_api.c}
39
* L2TP APIs: see .../src/vnet/l2tp/{l2tp.api, l2tp_api.c}
40
* BFD APIs: see .../src/vnet/bfd/{bfd.api, bfd_api.c}
41
* IPSEC APIs: see .../src/vnet/ipsec/{ipsec.api, ipsec_api.c}
42
* IPSEC-GRE APIs: see .../src/vnet/ipsec-gre/{ipsec_gre.api, ipsec_gre_api.c}
43
* LISP APIs: see .../src/vnet/lisp/{lisp.api, lisp_api.c}
44
* LISP-GPE APIs: see .../src/vnet/lisp-gpe/{lisp_gpe.api, lisp_gpe_api.c}
45
* SESSION APIs: .../vnet/session/{session.api session_api.c}
46
* MPLS APIs: see .../src/vnet/mpls/{mpls.api, mpls_api.c}
47
* SR APIs: see .../src/vnet/srv6/{sr.api, sr_api.c}
48
* CLASSIFY APIs: see ... /src/vnet/classify/{classify.api, classify_api.c}
49
* FLOW APIs: see ... /src/vnet/flow/{flow.api, flow_api.c}
50
* DHCP APIs: see ... /src/vnet/dhcp/{dhcp.api, dhcp_api.c}
51
* COP APIs: see ... /src/vnet/cop/{cop.api, cop_api.c}
52
* POLICER APIs: see ... /src/vnet/policer/{policer.api, policer_api.c}
53
* STATS APIs: see .../src/vpp/stats/{stats.api, stats.c}
54
* BIER APIs: see ... /src/vnet/policer/{bier.api, bier_api.c}
55
*/
56
57
/** \brief Control ping from client to api server request
58
@param client_index - opaque cookie to identify the sender
59
@param context - sender context, to match reply w/ request
60
*/
61
define control_ping
62
{
63
u32
client_index
;
64
u32
context
;
65
};
66
67
/** \brief Control ping from the client to the server response
68
@param client_index - opaque cookie to identify the sender
69
@param context - sender context, to match reply w/ request
70
@param retval - return code for the request
71
@param vpe_pid - the pid of the vpe, returned by the server
72
*/
73
define control_ping_reply
74
{
75
u32
context
;
76
i32
retval
;
77
u32
client_index
;
78
u32
vpe_pid
;
79
};
80
81
/** \brief Process a vpe parser cli string request
82
@param client_index - opaque cookie to identify the sender
83
@param context - sender context, to match reply w/ request
84
@param cmd_in_shmem - pointer to cli command string
85
*/
86
define cli
87
{
88
u32
client_index
;
89
u32
context
;
90
u64
cmd_in_shmem
;
91
};
92
define cli_inband
93
{
94
u32
client_index
;
95
u32
context
;
96
u32
length
;
97
u8
cmd[length];
98
};
99
100
/** \brief vpe parser cli string response
101
@param context - sender context, to match reply w/ request
102
@param retval - return code for request
103
@param reply_in_shmem - Reply string from cli processing if any
104
*/
105
define cli_reply
106
{
107
u32
context
;
108
i32
retval
;
109
u64
reply_in_shmem
;
110
};
111
define cli_inband_reply
112
{
113
u32
context
;
114
i32
retval
;
115
u32
length
;
116
u8
reply[length];
117
};
118
119
/** \brief Get node index using name request
120
@param client_index - opaque cookie to identify the sender
121
@param context - sender context, to match reply w/ request
122
@param node_name[] - name of the node
123
*/
124
define get_node_index
125
{
126
u32
client_index
;
127
u32
context
;
128
u8
node_name[64];
129
};
130
131
/** \brief Get node index using name request
132
@param context - sender context, to match reply w/ request
133
@param retval - return code for the request
134
@param node_index - index of the desired node if found, else ~0
135
*/
136
define get_node_index_reply
137
{
138
u32
context
;
139
i32
retval
;
140
u32
node_index
;
141
};
142
143
/** \brief Set the next node for a given node request
144
@param client_index - opaque cookie to identify the sender
145
@param context - sender context, to match reply w/ request
146
@param node_name[] - node to add the next node to
147
@param next_name[] - node to add as the next node
148
*/
149
define add_node_next
150
{
151
u32
client_index
;
152
u32
context
;
153
u8
node_name[64];
154
u8
next_name[64];
155
};
156
157
/** \brief IP Set the next node for a given node response
158
@param context - sender context, to match reply w/ request
159
@param retval - return code for the add next node request
160
@param next_index - the index of the next node if success, else ~0
161
*/
162
define add_node_next_reply
163
{
164
u32
context
;
165
i32
retval
;
166
u32
next_index
;
167
};
168
169
/** \brief show version
170
@param client_index - opaque cookie to identify the sender
171
@param context - sender context, to match reply w/ request
172
*/
173
define show_version
174
{
175
u32
client_index
;
176
u32
context
;
177
};
178
179
/** \brief show version response
180
@param context - sender context, to match reply w/ request
181
@param retval - return code for the request
182
@param program - name of the program (vpe)
183
@param version - version of the program
184
@param build_directory - root of the workspace where the program was built
185
*/
186
define show_version_reply
187
{
188
u32
context
;
189
i32
retval
;
190
u8
program[32];
191
u8
version
[32];
192
u8
build_date[32];
193
u8
build_directory[256];
194
};
195
196
197
/** \brief show_threads display the information about vpp
198
threads running on system along with their process id,
199
cpu id, physical core and cpu socket.
200
*/
201
define show_threads
202
{
203
u32
client_index
;
204
u32
context
;
205
};
206
207
/** \brief thread data
208
@param id - thread index
209
@param name - thread name i.e. vpp_main or vpp_wk_0
210
@param type - thread type i.e. workers or stats
211
@param pid - thread Process Id
212
@param cpu_id - thread pinned to cpu.
213
"CPUs or Logical cores are the number of physical cores times
214
the number of threads that can run on each core through
215
the use of hyperthreading." (from unix.stackexchange.com)
216
@param core - thread pinned to actual physical core.
217
@param cpu_socket - thread is running on which cpu socket.
218
*/
219
typeonly define
thread_data
220
{
221
u32
id
;
222
u8
name
[64];
223
u8
type[64];
224
u32
pid
;
225
u32
cpu_id
;
226
u32
core
;
227
u32
cpu_socket
;
228
};
229
230
/** \brief show_threads_reply
231
@param context - returned sender context, to match reply w/ request
232
@param retval - return code
233
@param count - number of threads in thread_data array
234
@param thread_data - array of thread data
235
*/
236
define show_threads_reply
237
{
238
u32
context
;
239
i32
retval
;
240
u32
count
;
241
vl_api_thread_data_t
thread_data
[
count
];
242
};
243
244
define get_node_graph
245
{
246
u32
client_index
;
247
u32
context
;
248
};
249
250
/** \brief get_node_graph_reply
251
@param context - returned sender context, to match reply w/ request
252
@param retval - return code
253
@param reply_in_shmem - result from vlib_node_serialize, in shared
254
memory. Process with vlib_node_unserialize, remember to switch
255
heaps and free the result.
256
*/
257
258
define get_node_graph_reply
259
{
260
u32
context
;
261
i32
retval
;
262
u64
reply_in_shmem
;
263
};
264
265
/** \brief Query relative index via node names
266
@param client_index - opaque cookie to identify the sender
267
@param context - sender context, to match reply w/ request
268
@param node_name - name of node to find relative index from
269
@param next_name - next node from node_name to find relative index of
270
*/
271
define get_next_index
272
{
273
u32
client_index
;
274
u32
context
;
275
u8
node_name[64];
276
u8
next_name[64];
277
};
278
279
/** \brief Reply for get next node index
280
@param context - sender context which was passed in the request
281
@param retval - return value
282
@param next_index - index of the next_node
283
*/
284
define get_next_index_reply
285
{
286
u32
context
;
287
i32
retval
;
288
u32
next_index
;
289
};
290
291
/*
292
* Local Variables:
293
* eval: (c-set-style "gnu")
294
* End:
295
*/
vl_api_add_node_next_reply_t::retval
i32 retval
Definition:
vpe.api:165
vl_api_cli_reply_t::context
u32 context
Definition:
vpe.api:107
vl_api_show_threads_reply_t::count
u32 count
Definition:
vpe.api:240
vl_api_add_node_next_t::client_index
u32 client_index
Definition:
vpe.api:151
vl_api_show_threads_reply_t::context
u32 context
Definition:
vpe.api:238
vl_api_thread_data_t::cpu_id
u32 cpu_id
Definition:
vpe.api:225
vl_api_add_node_next_reply_t::next_index
u32 next_index
Definition:
vpe.api:166
vl_api_get_node_graph_reply_t::context
u32 context
Definition:
vpe.api:260
vl_api_show_version_t::client_index
u32 client_index
Definition:
vpe.api:175
u64
unsigned long u64
Definition:
types.h:89
vl_api_get_node_index_t::client_index
u32 client_index
Definition:
vpe.api:126
vl_api_get_next_index_reply_t::context
u32 context
Definition:
vpe.api:286
vl_api_thread_data_t::core
u32 core
Definition:
vpe.api:226
vl_api_show_version_t::context
u32 context
Definition:
vpe.api:176
thread_data
memif_thread_data_t thread_data[MAX_THREADS]
Definition:
main.c:109
vl_api_control_ping_t::client_index
u32 client_index
Definition:
vpe.api:63
vl_api_get_next_index_t::client_index
u32 client_index
Definition:
vpe.api:273
vl_api_get_next_index_reply_t::retval
i32 retval
Definition:
vpe.api:287
u8
unsigned char u8
Definition:
types.h:56
vl_api_cli_inband_reply_t::context
u32 context
Definition:
vpe.api:113
vl_api_cli_inband_t::client_index
u32 client_index
Definition:
vpe.api:94
vl_api_control_ping_reply_t::retval
i32 retval
Definition:
vpe.api:76
vl_api_cli_inband_t::length
u32 length
Definition:
vpe.api:96
vl_api_control_ping_t::context
u32 context
Definition:
vpe.api:64
vl_api_show_version_reply_t::context
u32 context
Definition:
vpe.api:188
vl_api_thread_data_t::cpu_socket
u32 cpu_socket
Definition:
vpe.api:227
vl_api_cli_t::context
u32 context
Definition:
vpe.api:89
vl_api_control_ping_reply_t::vpe_pid
u32 vpe_pid
Definition:
vpe.api:78
u32
unsigned int u32
Definition:
types.h:88
vl_api_show_threads_t::context
u32 context
Definition:
vpe.api:204
vl_api_get_next_index_reply_t::next_index
u32 next_index
Definition:
vpe.api:288
vl_api_cli_t::cmd_in_shmem
u64 cmd_in_shmem
Definition:
vpe.api:90
vl_api_cli_reply_t::retval
i32 retval
Definition:
vpe.api:108
vl_api_control_ping_reply_t::client_index
u32 client_index
Definition:
vpe.api:77
vl_api_get_next_index_t::context
u32 context
Definition:
vpe.api:274
vl_api_get_node_index_reply_t::node_index
u32 node_index
Definition:
vpe.api:140
vl_api_get_node_index_reply_t::context
u32 context
Definition:
vpe.api:138
vl_api_cli_inband_reply_t::length
u32 length
Definition:
vpe.api:115
name
u8 name[64]
Definition:
memclnt.api:151
vl_api_cli_t::client_index
u32 client_index
Definition:
vpe.api:88
vl_api_thread_data_t::id
u32 id
Definition:
vpe.api:221
vl_api_add_node_next_t::context
u32 context
Definition:
vpe.api:152
vl_api_cli_inband_reply_t::retval
i32 retval
Definition:
vpe.api:114
vl_api_show_threads_t::client_index
u32 client_index
Definition:
vpe.api:203
vl_api_get_node_graph_t::client_index
u32 client_index
Definition:
vpe.api:246
vl_api_thread_data_t
thread data
Definition:
vpe.api:219
vl_api_show_threads_reply_t::retval
i32 retval
Definition:
vpe.api:239
i32
signed int i32
Definition:
types.h:77
version
option version
Definition:
vpe.api:22
vl_api_add_node_next_reply_t::context
u32 context
Definition:
vpe.api:164
vl_api_control_ping_reply_t::context
u32 context
Definition:
vpe.api:75
count
size_t count
Definition:
vapi.c:46
vl_api_get_node_graph_reply_t::retval
i32 retval
Definition:
vpe.api:261
vl_api_cli_reply_t::reply_in_shmem
u64 reply_in_shmem
Definition:
vpe.api:109
vl_api_cli_inband_t::context
u32 context
Definition:
vpe.api:95
vl_api_get_node_index_t::context
u32 context
Definition:
vpe.api:127
vl_api_get_node_graph_t::context
u32 context
Definition:
vpe.api:247
vl_api_get_node_index_reply_t::retval
i32 retval
Definition:
vpe.api:139
vl_api_show_version_reply_t::retval
i32 retval
Definition:
vpe.api:189
vl_api_thread_data_t::pid
u32 pid
Definition:
vpe.api:224
vl_api_get_node_graph_reply_t::reply_in_shmem
u64 reply_in_shmem
Definition:
vpe.api:262
src
vpp
api
vpe.api
Generated on Thu May 16 2019 14:27:06 for FD.io VPP by
1.8.11