FD.io VPP
v18.07.1-19-g511ce25
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.0.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/{dhcpk.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
define get_node_graph
197
{
198
u32
client_index
;
199
u32
context
;
200
};
201
202
/** \brief get_node_graph_reply
203
@param context - returned sender context, to match reply w/ request
204
@param retval - return code
205
@param reply_in_shmem - result from vlib_node_serialize, in shared
206
memory. Process with vlib_node_unserialize, remember to switch
207
heaps and free the result.
208
*/
209
210
define get_node_graph_reply
211
{
212
u32
context
;
213
i32
retval
;
214
u64
reply_in_shmem
;
215
};
216
217
/** \brief Query relative index via node names
218
@param client_index - opaque cookie to identify the sender
219
@param context - sender context, to match reply w/ request
220
@param node_name - name of node to find relative index from
221
@param next_name - next node from node_name to find relative index of
222
*/
223
define get_next_index
224
{
225
u32
client_index
;
226
u32
context
;
227
u8
node_name[64];
228
u8
next_name[64];
229
};
230
231
/** \brief Reply for get next node index
232
@param context - sender context which was passed in the request
233
@param retval - return value
234
@param next_index - index of the next_node
235
*/
236
define get_next_index_reply
237
{
238
u32
context
;
239
i32
retval
;
240
u32
next_index
;
241
};
242
243
/*
244
* Local Variables:
245
* eval: (c-set-style "gnu")
246
* End:
247
*/
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_add_node_next_t::client_index
u32 client_index
Definition:
vpe.api:151
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:212
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:238
vl_api_show_version_t::context
u32 context
Definition:
vpe.api:176
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:225
vl_api_get_next_index_reply_t::retval
i32 retval
Definition:
vpe.api:239
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_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_get_next_index_reply_t::next_index
u32 next_index
Definition:
vpe.api:240
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:226
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
vl_api_cli_t::client_index
u32 client_index
Definition:
vpe.api:88
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_get_node_graph_t::client_index
u32 client_index
Definition:
vpe.api:198
i32
signed int i32
Definition:
types.h:81
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
vl_api_get_node_graph_reply_t::retval
i32 retval
Definition:
vpe.api:213
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:199
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_get_node_graph_reply_t::reply_in_shmem
u64 reply_in_shmem
Definition:
vpe.api:214
src
vpp
api
vpe.api
Generated on Fri May 24 2019 10:26:57 for FD.io VPP by
1.8.11