FD.io VPP
v18.01.2-1-g9b554f3
Vector Packet Processing
Main Page
Related Pages
Modules
Namespaces
Data Structures
Source
Files
Symbols
FD.io VPP
Vector Packet Processing
Release Notes
Debug CLI
Startup Configuration
Todo List
Node Identifiers
Modules
Namespaces
Data Structures
Source
Files
Symbols
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
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
vl_api_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
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
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_version
#define vl_api_version(n, v)
Definition:
jvpp_registry.c:18
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
i32
int i32
Definition:
types.h:81
u64
unsigned long u64
Definition:
types.h:89
vl_api_control_ping_reply_t::vpe_pid
u32 vpe_pid
Definition:
vpe.api:78
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
u32
unsigned int u32
Definition:
types.h:88
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
u8
unsigned char u8
Definition:
types.h:56
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 Wed Sep 5 2018 06:03:15 for FD.io VPP by
1.8.11