FD.io VPP  v19.04.4-rc0-5-ge88582fac
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 {
29 };
30 
31 typedef gbp_bridge_domain
32 {
33  u32 bd_id;
34  vl_api_gbp_bridge_domain_flags_t flags;
38 };
39 
40 manual_print autoreply define gbp_bridge_domain_add
41 {
44  vl_api_gbp_bridge_domain_t bd;
45 };
46 manual_print autoreply define gbp_bridge_domain_del
47 {
51 };
52 autoreply define gbp_bridge_domain_dump
53 {
56 };
57 define gbp_bridge_domain_details
58 {
60  vl_api_gbp_bridge_domain_t bd;
61 };
62 
63 typedef gbp_route_domain
64 {
65  u32 rd_id;
70 };
71 
72 manual_print autoreply define gbp_route_domain_add
73 {
76  vl_api_gbp_route_domain_t rd;
77 };
78 manual_print autoreply define gbp_route_domain_del
79 {
83 };
84 autoreply define gbp_route_domain_dump
85 {
88 };
89 define gbp_route_domain_details
90 {
92  vl_api_gbp_route_domain_t rd;
93 };
94 
95 /** \brief Endpoint
96  @param client_index - opaque cookie to identify the sender
97  @param context - sender context, to match reply w/ request
98 */
99 
101 {
107 };
108 
109 typedef gbp_endpoint_tun
110 {
111  vl_api_address_t src;
112  vl_api_address_t dst;
113 };
114 
115 typedef gbp_endpoint
116 {
119  vl_api_gbp_endpoint_flags_t flags;
120  vl_api_mac_address_t mac;
121  vl_api_gbp_endpoint_tun_t tun;
123  vl_api_address_t ips[n_ips];
124 };
125 
126 manual_print define gbp_endpoint_add
127 {
130  vl_api_gbp_endpoint_t endpoint;
131 };
132 
133 define gbp_endpoint_add_reply
134 {
138 };
139 
140 manual_print autoreply define gbp_endpoint_del
141 {
145 };
146 
147 define gbp_endpoint_dump
148 {
151 };
152 
153 define gbp_endpoint_details
154 {
158  vl_api_gbp_endpoint_t endpoint;
159 };
160 
162 {
163  u32 remote_ep_timeout;
164 };
165 
166 typeonly define gbp_endpoint_group
167 {
173  vl_api_gbp_endpoint_retention_t retention;
174 };
175 
176 manual_print autoreply define gbp_endpoint_group_add
177 {
181 };
182 manual_print autoreply define gbp_endpoint_group_del
183 {
187 };
188 
189 define gbp_endpoint_group_dump
190 {
193 };
194 
195 define gbp_endpoint_group_details
196 {
199 };
200 
201 typeonly define gbp_recirc
202 {
206 };
207 
208 manual_print autoreply define gbp_recirc_add_del
209 {
214 };
215 
216 define gbp_recirc_dump
217 {
220 };
221 
222 define gbp_recirc_details
223 {
226 };
227 
229 {
234 };
235 
236 typeonly define gbp_subnet
237 {
241  vl_api_gbp_subnet_type_t type;
242  vl_api_prefix_t prefix;
243 };
244 
245 manual_print autoreply define gbp_subnet_add_del
246 {
251 };
252 
253 define gbp_subnet_dump
254 {
257 };
258 
259 define gbp_subnet_details
260 {
263 };
264 
265 typedef gbp_next_hop
266 {
267  vl_api_address_t ip;
268  vl_api_mac_address_t mac;
271 };
272 
274 {
278 };
279 
280 typedef gbp_next_hop_set
281 {
282  vl_api_gbp_hash_mode_t hash_mode;
284  vl_api_gbp_next_hop_t nhs[8];
285 };
286 
288 {
292 };
293 
294 typedef gbp_rule
295 {
296  vl_api_gbp_rule_action_t action;
297  vl_api_gbp_next_hop_set_t nh_set;
298 };
299 
300 typedef gbp_contract
301 {
302  u16 sclass;
308  vl_api_gbp_rule_t rules[n_rules];
309 };
310 
311 manual_print define gbp_contract_add_del
312 {
316  vl_api_gbp_contract_t contract;
317 };
318 define gbp_contract_add_del_reply
319 {
323 };
324 
325 define gbp_contract_dump
326 {
329 };
330 
331 define gbp_contract_details
332 {
334  vl_api_gbp_contract_t contract;
335 };
336 
337 /**
338  * @brief Configure a 'base' tunnel from which learned tunnels
339  * are permitted to derive
340  * A base tunnel consists only of the VNI, any src,dst IP
341  * pair is thus allowed.
342  */
344 {
347 };
348 
349 typedef gbp_vxlan_tunnel
350 {
351  u32 vni;
352  vl_api_gbp_vxlan_tunnel_mode_t mode;
355 };
356 
357 manual_print define gbp_vxlan_tunnel_add
358 {
361  vl_api_gbp_vxlan_tunnel_t tunnel;
362 };
363 
364 define gbp_vxlan_tunnel_add_reply
365 {
369 };
370 
371 manual_print autoreply define gbp_vxlan_tunnel_del
372 {
376 };
377 
378 define gbp_vxlan_tunnel_dump
379 {
382 };
383 
384 define gbp_vxlan_tunnel_details
385 {
387  vl_api_gbp_vxlan_tunnel_t tunnel;
388 };
389 
390 typeonly define gbp_ext_itf
391 {
395 };
396 
397 manual_print autoreply define gbp_ext_itf_add_del
398 {
403 };
404 
405 define gbp_ext_itf_dump
406 {
409 };
410 
411 define gbp_ext_itf_details
412 {
415 };
416 
417 /*
418  * Local Variables:
419  * eval: (c-set-style "gnu")
420  * End:
421  */
u32 sw_if_index
Definition: ipsec_gre.api:37
u32 acl_index
Definition: gbp.api:304
gbp_bridge_domain_flags
Definition: gbp.api:22
u32 ip6_table_id
Definition: gbp.api:67
vl_api_gbp_endpoint_group_t epg
Definition: gbp.api:180
vl_api_gbp_endpoint_t endpoint
Definition: gbp.api:130
vl_api_gbp_subnet_t subnet
Definition: gbp.api:262
u32 ip6_uu_sw_if_index
Definition: gbp.api:69
typedef gbp_next_hop
Definition: gbp.api:266
int gbp_vxlan_tunnel_add(u32 vni, gbp_vxlan_tunnel_layer_t layer, u32 bd_rd_id, const ip4_address_t *src, u32 *sw_if_indexp)
Definition: gbp_vxlan.c:468
u8 n_rules
Definition: gbp.api:307
vl_api_gbp_vxlan_tunnel_t tunnel
Definition: gbp.api:387
typedef gbp_vxlan_tunnel
Definition: gbp.api:350
vl_api_gbp_vxlan_tunnel_t tunnel
Definition: gbp.api:361
u32 rd_id
Definition: gbp.api:270
vl_api_gbp_next_hop_set_t nh_set
Definition: gbp.api:297
u32 uu_fwd_sw_if_index
Definition: gbp.api:36
vl_api_gbp_ext_itf_t ext_itf
Definition: gbp.api:414
unsigned char u8
Definition: types.h:56
double f64
Definition: types.h:142
vl_api_gbp_endpoint_retention_t retention
Definition: gbp.api:173
vl_api_ip4_address_t src
Definition: gbp.api:354
vl_api_gbp_bridge_domain_t bd
Definition: gbp.api:60
typedef gbp_rule
Definition: gbp.api:295
typedef gbp_endpoint_retention
Definition: gbp.api:162
gbp_hash_mode
Definition: gbp.api:273
u8 n_ips
Definition: gbp.api:122
unsigned int u32
Definition: types.h:88
typedef gbp_endpoint_tun
Definition: gbp.api:110
gbp_subnet_type
Definition: gbp.api:228
u32 bvi_sw_if_index
Definition: gbp.api:35
u32 bd_id
Definition: gbp.api:269
unsigned short u16
Definition: types.h:57
u16 sclass
Definition: gbp.api:118
u8 n_nhs
Definition: gbp.api:283
u32 bd_rd_id
Definition: gbp.api:353
vl_api_gbp_next_hop_t nhs[8]
Definition: gbp.api:284
typedef gbp_next_hop_set
Definition: gbp.api:281
vl_api_gbp_bridge_domain_t bd
Definition: gbp.api:44
u8 vl_api_ip4_address_t[4]
Definition: ip_types_api.h:31
u32 ip4_table_id
Definition: gbp.api:66
vl_api_prefix_t prefix
Definition: gbp.api:242
int gbp_vxlan_tunnel_del(u32 vni)
Definition: gbp_vxlan.c:596
vl_api_gbp_endpoint_group_t epg
Definition: gbp.api:198
vl_api_gbp_subnet_t subnet
Definition: gbp.api:250
option version
Definition: gbp.api:17
vl_api_gbp_rule_t rules[n_rules]
Definition: gbp.api:308
gbp_vxlan_tunnel_mode
Configure a 'base' tunnel from which learned tunnels are permitted to derive A base tunnel consists o...
Definition: gbp.api:343
signed int i32
Definition: types.h:77
vl_api_gbp_contract_t contract
Definition: gbp.api:316
typedef gbp_route_domain
Definition: gbp.api:64
u32 bm_flood_sw_if_index
Definition: gbp.api:37
vl_api_gbp_recirc_t recirc
Definition: gbp.api:213
typedef gbp_contract
Definition: gbp.api:301
gbp_rule_action
Definition: gbp.api:287
vl_api_gbp_bridge_domain_flags_t flags
Definition: gbp.api:34
u32 ip4_uu_sw_if_index
Definition: gbp.api:68
vl_api_gbp_contract_t contract
Definition: gbp.api:334
vl_api_gbp_subnet_type_t type
Definition: gbp.api:241
typedef gbp_endpoint
Definition: gbp.api:116
gbp_endpoint_flags
Endpoint.
Definition: gbp.api:100
vl_api_gbp_endpoint_t endpoint
Definition: gbp.api:158
u32 vni
Definition: vxlan_gbp.api:42
u8 n_ether_types
Definition: gbp.api:305
vl_api_gbp_endpoint_tun_t tun
Definition: gbp.api:121
vl_api_address_t dst
Definition: gbp.api:112
vl_api_gbp_ext_itf_t ext_itf
Definition: gbp.api:402
vl_api_gbp_vxlan_tunnel_mode_t mode
Definition: gbp.api:352
vl_api_gbp_route_domain_t rd
Definition: gbp.api:92
vl_api_address_t ips[n_ips]
Definition: gbp.api:123
u16 allowed_ethertypes[16]
Definition: gbp.api:306
typedef gbp_bridge_domain
Definition: gbp.api:32
vl_api_gbp_route_domain_t rd
Definition: gbp.api:76
u16 dclass
Definition: gbp.api:303
vl_api_mac_address_t mac
Definition: gbp.api:120
vl_api_gbp_recirc_t recirc
Definition: gbp.api:225