FD.io VPP  v19.01.3-6-g70449b9b9
Vector Packet Processing
gbp.api
Go to the documentation of this file.
1 /* Hey Emacs use -*- mode: C -*- */
2 /*
3  * Copyright (c) 2018 Cisco and/or its affiliates.
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at:
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 option version = "2.0.0";
18 
19 import "vnet/ip/ip_types.api";
20 import "vnet/ethernet/ethernet_types.api";
21 
23 {
26 };
27 
28 typedef gbp_bridge_domain
29 {
30  u32 bd_id;
31  vl_api_gbp_bridge_domain_flags_t flags;
34 };
35 
36 autoreply define gbp_bridge_domain_add
37 {
40  vl_api_gbp_bridge_domain_t bd;
41 };
42 autoreply define gbp_bridge_domain_del
43 {
47 };
48 autoreply define gbp_bridge_domain_dump
49 {
52 };
53 define gbp_bridge_domain_details
54 {
56  vl_api_gbp_bridge_domain_t bd;
57 };
58 
59 typedef gbp_route_domain
60 {
61  u32 rd_id;
66 };
67 
68 autoreply define gbp_route_domain_add
69 {
72  vl_api_gbp_route_domain_t rd;
73 };
74 autoreply define gbp_route_domain_del
75 {
79 };
80 autoreply define gbp_route_domain_dump
81 {
84 };
85 define gbp_route_domain_details
86 {
88  vl_api_gbp_route_domain_t rd;
89 };
90 
91 /** \brief Endpoint
92  @param client_index - opaque cookie to identify the sender
93  @param context - sender context, to match reply w/ request
94 */
95 
97 {
102  /* hey Ole WTF */
105 };
106 
107 typedef gbp_endpoint_tun
108 {
109  vl_api_address_t src;
110  vl_api_address_t dst;
111 };
112 
113 typedef gbp_endpoint
114 {
117  vl_api_gbp_endpoint_flags_t flags;
118  vl_api_mac_address_t mac;
119  vl_api_gbp_endpoint_tun_t tun;
121  vl_api_address_t ips[n_ips];
122 };
123 
124 define gbp_endpoint_add
125 {
128  vl_api_gbp_endpoint_t endpoint;
129 };
130 
131 define gbp_endpoint_add_reply
132 {
136 };
137 
138 autoreply define gbp_endpoint_del
139 {
143 };
144 
145 define gbp_endpoint_dump
146 {
149 };
150 
151 define gbp_endpoint_details
152 {
156  vl_api_gbp_endpoint_t endpoint;
157 };
158 
159 typeonly define gbp_endpoint_group
160 {
165 };
166 
167 autoreply define gbp_endpoint_group_add
168 {
172 };
173 autoreply define gbp_endpoint_group_del
174 {
178 };
179 
180 define gbp_endpoint_group_dump
181 {
184 };
185 
186 define gbp_endpoint_group_details
187 {
190 };
191 
192 typeonly define gbp_recirc
193 {
197 };
198 
199 autoreply define gbp_recirc_add_del
200 {
205 };
206 
207 define gbp_recirc_dump
208 {
211 };
212 
213 define gbp_recirc_details
214 {
217 };
218 
220 {
225 };
226 
227 typeonly define gbp_subnet
228 {
232  vl_api_gbp_subnet_type_t type;
233  vl_api_prefix_t prefix;
234 };
235 
236 autoreply define gbp_subnet_add_del
237 {
242 };
243 
244 define gbp_subnet_dump
245 {
248 };
249 
250 define gbp_subnet_details
251 {
254 };
255 
256 typedef gbp_next_hop
257 {
258  vl_api_address_t ip;
259  vl_api_mac_address_t mac;
262 };
263 
265 {
269 };
270 
271 typedef gbp_next_hop_set
272 {
273  vl_api_gbp_hash_mode_t hash_mode;
275  vl_api_gbp_next_hop_t nhs[8];
276 };
277 
279 {
283 };
284 
285 typedef gbp_rule
286 {
287  vl_api_gbp_rule_action_t action;
288  vl_api_gbp_next_hop_set_t nh_set;
289 };
290 
291 typedef gbp_contract
292 {
293  u16 src_epg;
297  vl_api_gbp_rule_t rules[n_rules];
300 };
301 
302 autoreply define gbp_contract_add_del
303 {
307  vl_api_gbp_contract_t contract;
308 };
309 
310 define gbp_contract_dump
311 {
314 };
315 
316 define gbp_contract_details
317 {
319  vl_api_gbp_contract_t contract;
320 };
321 
322 /**
323  * @brief Set the time throeshold after which an endpoint is
324  considered inative and is aged/reaped by the scanner
325  * @param threshold In seconds
326  */
327 autoreply define gbp_endpoint_learn_set_inactive_threshold
328 {
332 };
333 
334 /**
335  * @brief Configure a 'base' tunnel from which learned tunnels
336  * are permitted to derive
337  * A base tunnel consists only of the VNI, any src,dst IP
338  * pair is thus allowed.
339  */
341 {
344 };
345 
346 typedef gbp_vxlan_tunnel
347 {
348  u32 vni;
349  vl_api_gbp_vxlan_tunnel_mode_t mode;
351 };
352 
354 {
357  vl_api_gbp_vxlan_tunnel_t tunnel;
358 };
359 
360 define gbp_vxlan_tunnel_add_reply
361 {
365 };
366 
367 autoreply define gbp_vxlan_tunnel_del
368 {
372 };
373 
374 define gbp_vxlan_tunnel_dump
375 {
378 };
379 
380 define gbp_vxlan_tunnel_details
381 {
383  vl_api_gbp_vxlan_tunnel_t tunnel;
384 };
385 
386 typeonly define gbp_ext_itf
387 {
391 };
392 
393 autoreply define gbp_ext_itf_add_del
394 {
399 };
400 
401 define gbp_ext_itf_dump
402 {
405 };
406 
407 define gbp_ext_itf_details
408 {
411 };
412 
413 /*
414  * Local Variables:
415  * eval: (c-set-style "gnu")
416  * End:
417  */
u32 acl_index
Definition: gbp.api:295
gbp_bridge_domain_flags
Definition: gbp.api:22
vl_api_address_t src
Definition: vxlan_gbp.api:32
u32 ip6_table_id
Definition: gbp.api:63
vl_api_gbp_endpoint_group_t epg
Definition: gbp.api:171
vl_api_gbp_endpoint_t endpoint
Definition: gbp.api:128
vl_api_gbp_subnet_t subnet
Definition: gbp.api:253
u32 ip6_uu_sw_if_index
Definition: gbp.api:65
typedef gbp_next_hop
Definition: gbp.api:257
u8 n_rules
Definition: gbp.api:296
vl_api_gbp_vxlan_tunnel_t tunnel
Definition: gbp.api:383
typedef gbp_vxlan_tunnel
Definition: gbp.api:347
vl_api_gbp_vxlan_tunnel_t tunnel
Definition: gbp.api:357
u32 rd_id
Definition: gbp.api:261
vl_api_gbp_next_hop_set_t nh_set
Definition: gbp.api:288
u32 uu_fwd_sw_if_index
Definition: gbp.api:33
vl_api_gbp_ext_itf_t ext_itf
Definition: gbp.api:410
unsigned char u8
Definition: types.h:56
double f64
Definition: types.h:142
vl_api_gbp_bridge_domain_t bd
Definition: gbp.api:56
u32 sw_if_index
Definition: vxlan_gbp.api:37
typedef gbp_rule
Definition: gbp.api:286
gbp_hash_mode
Definition: gbp.api:264
u8 n_ips
Definition: gbp.api:120
unsigned int u32
Definition: types.h:88
u16 allowed_ethertypes[n_ether_types]
Definition: gbp.api:299
typedef gbp_endpoint_tun
Definition: gbp.api:108
gbp_subnet_type
Definition: gbp.api:219
u32 bvi_sw_if_index
Definition: gbp.api:32
u32 bd_id
Definition: gbp.api:260
unsigned short u16
Definition: types.h:57
u16 epg_id
Definition: gbp.api:116
u8 n_nhs
Definition: gbp.api:274
u32 bd_rd_id
Definition: gbp.api:350
vl_api_gbp_next_hop_t nhs[8]
Definition: gbp.api:275
typedef gbp_next_hop_set
Definition: gbp.api:272
vl_api_gbp_bridge_domain_t bd
Definition: gbp.api:40
int gbp_vxlan_tunnel_add(u32 vni, gbp_vxlan_tunnel_layer_t layer, u32 bd_rd_id, u32 *sw_if_indexp)
Definition: gbp_vxlan.c:640
u32 ip4_table_id
Definition: gbp.api:62
vl_api_prefix_t prefix
Definition: gbp.api:233
int gbp_vxlan_tunnel_del(u32 vni)
Definition: gbp_vxlan.c:765
vl_api_gbp_endpoint_group_t epg
Definition: gbp.api:189
vl_api_gbp_subnet_t subnet
Definition: gbp.api:241
option version
Definition: gbp.api:17
vl_api_gbp_rule_t rules[n_rules]
Definition: gbp.api:297
gbp_vxlan_tunnel_mode
Configure a 'base' tunnel from which learned tunnels are permitted to derive A base tunnel consists o...
Definition: gbp.api:340
signed int i32
Definition: types.h:77
vl_api_gbp_contract_t contract
Definition: gbp.api:307
typedef gbp_route_domain
Definition: gbp.api:60
vl_api_gbp_recirc_t recirc
Definition: gbp.api:204
typedef gbp_contract
Definition: gbp.api:292
gbp_rule_action
Definition: gbp.api:278
vl_api_gbp_bridge_domain_flags_t flags
Definition: gbp.api:31
u32 ip4_uu_sw_if_index
Definition: gbp.api:64
vl_api_gbp_contract_t contract
Definition: gbp.api:319
vl_api_gbp_subnet_type_t type
Definition: gbp.api:232
typedef gbp_endpoint
Definition: gbp.api:114
gbp_endpoint_flags
Endpoint.
Definition: gbp.api:96
vl_api_gbp_endpoint_t endpoint
Definition: gbp.api:156
u16 dst_epg
Definition: gbp.api:294
u32 vni
Definition: vxlan_gbp.api:36
u8 n_ether_types
Definition: gbp.api:298
vl_api_gbp_endpoint_tun_t tun
Definition: gbp.api:119
vl_api_address_t dst
Definition: gbp.api:110
vl_api_gbp_ext_itf_t ext_itf
Definition: gbp.api:398
vl_api_gbp_vxlan_tunnel_mode_t mode
Definition: gbp.api:349
vl_api_gbp_route_domain_t rd
Definition: gbp.api:88
vl_api_address_t ips[n_ips]
Definition: gbp.api:121
typedef gbp_bridge_domain
Definition: gbp.api:29
vl_api_gbp_route_domain_t rd
Definition: gbp.api:72
vl_api_mac_address_t mac
Definition: gbp.api:118
vl_api_gbp_recirc_t recirc
Definition: gbp.api:216