blob: 7318ba4f866963986a648e7819fbcba70965e74d [file] [log] [blame]
Filip Tehlar694396d2017-02-17 14:29:11 +01001/*
2 * Copyright (c) 2015-2017 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
Jakub Grajciar58db6e12020-01-30 13:26:43 +010016option version = "2.0.0";
Dave Barach0d056e52017-09-28 15:11:16 -040017
Jakub Grajciar58db6e12020-01-30 13:26:43 +010018import "vnet/interface_types.api";
19import "vnet/lisp-cp/lisp_types.api";
Filip Tehlar974cdc62017-02-22 18:09:49 +010020
Filip Tehlar694396d2017-02-17 14:29:11 +010021/** \brief add or delete locator_set
22 @param client_index - opaque cookie to identify the sender
23 @param context - sender context, to match reply w/ request
24 @param is_add - add address if non-zero, else delete
25 @param locator_set_name - locator name
26 @param locator_num - number of locators
27 @param locators - locator records
28*/
29manual_endian manual_print define one_add_del_locator_set
30{
31 u32 client_index;
32 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +010033 bool is_add [default=true];
34 string locator_set_name[64];
Filip Tehlar694396d2017-02-17 14:29:11 +010035 u32 locator_num;
Jakub Grajciar58db6e12020-01-30 13:26:43 +010036 vl_api_local_locator_t locators[locator_num];
Filip Tehlar694396d2017-02-17 14:29:11 +010037};
38
39/** \brief Reply for locator_set add/del
40 @param context - returned sender context, to match reply w/ request
41 @param retval - return code
42 @param ls_index - locator set index
43*/
44define one_add_del_locator_set_reply
45{
46 u32 context;
47 i32 retval;
48 u32 ls_index;
49};
50
51/** \brief add or delete locator for locator set
52 @param client_index - opaque cookie to identify the sender
53 @param context - sender context, to match reply w/ request
54 @param is_add - add address if non-zero, else delete
55 @param locator_set_name - name of locator_set to add/del locator
56 @param sw_if_index - index of the interface
57 @param priority - priority of the locator
58 @param weight - weight of the locator
59*/
Dave Barach11b8dbf2017-04-24 10:46:54 -040060autoreply define one_add_del_locator
Filip Tehlar694396d2017-02-17 14:29:11 +010061{
62 u32 client_index;
63 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +010064 bool is_add [default=true];
65 string locator_set_name[64];
66 vl_api_interface_index_t sw_if_index;
Filip Tehlar694396d2017-02-17 14:29:11 +010067 u8 priority;
68 u8 weight;
69};
70
Jakub Grajciar58db6e12020-01-30 13:26:43 +010071
Filip Tehlar694396d2017-02-17 14:29:11 +010072/** \brief add or delete ONE eid-table
73 @param client_index - opaque cookie to identify the sender
74 @param context - sender context, to match reply w/ request
75 @param is_add - add address if non-zero, else delete
76 @param eid_type:
77 0 : ipv4
78 1 : ipv6
79 2 : mac
80 @param eid - EID can be ip4, ip6 or mac
81 @param prefix_len - prefix len
82 @param locator_set_name - name of locator_set to add/del eid-table
83 @param vni - virtual network instance
Filip Tehlar694396d2017-02-17 14:29:11 +010084 @param key - secret key
85*/
Dave Barach11b8dbf2017-04-24 10:46:54 -040086autoreply define one_add_del_local_eid
Filip Tehlar694396d2017-02-17 14:29:11 +010087{
88 u32 client_index;
89 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +010090 bool is_add [default=true];
91 vl_api_eid_t eid;
92 string locator_set_name[64];
Filip Tehlar694396d2017-02-17 14:29:11 +010093 u32 vni;
Jakub Grajciar58db6e12020-01-30 13:26:43 +010094 vl_api_hmac_key_t key;
Filip Tehlar694396d2017-02-17 14:29:11 +010095};
96
Filip Tehlar1e553a02017-08-02 12:45:07 +020097/** \brief Set TTL for map register messages
98 @param client_index - opaque cookie to identify the sender
99 @param context - sender context, to match reply w/ request
100 @param ttl - time to live
101*/
102autoreply define one_map_register_set_ttl
103{
104 u32 client_index;
105 u32 context;
106 u32 ttl;
107};
108
109/** \brief Get TTL for map register messages
110 @param client_index - opaque cookie to identify the sender
111 @param context - sender context, to match reply w/ request
112*/
113define show_one_map_register_ttl
114{
115 u32 client_index;
116 u32 context;
117};
118
119/** \brief Contains current TTL for map register messages
120 @param client_index - opaque cookie to identify the sender
121 @param retval - return code
122 @param ttl - time to live
123*/
124define show_one_map_register_ttl_reply
125{
126 u32 context;
127 i32 retval;
128 u32 ttl;
129};
130
Filip Tehlar694396d2017-02-17 14:29:11 +0100131/** \brief Add/delete map server
132 @param client_index - opaque cookie to identify the sender
133 @param context - sender context, to match reply w/ request
134 @param is_add - add address if non-zero; delete otherwise
135 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
136 @param ip_address - map server IP address
137*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400138autoreply define one_add_del_map_server
Filip Tehlar694396d2017-02-17 14:29:11 +0100139{
140 u32 client_index;
141 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100142 bool is_add [default=true];
143 vl_api_address_t ip_address;
Filip Tehlar694396d2017-02-17 14:29:11 +0100144};
145
Filip Tehlar694396d2017-02-17 14:29:11 +0100146/** \brief add or delete map-resolver
147 @param client_index - opaque cookie to identify the sender
148 @param context - sender context, to match reply w/ request
149 @param is_add - add address if non-zero, else delete
150 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
151 @param ip_address - array of address bytes
152*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400153autoreply define one_add_del_map_resolver
Filip Tehlar694396d2017-02-17 14:29:11 +0100154{
155 u32 client_index;
156 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100157 bool is_add [default=true];
158 vl_api_address_t ip_address;
Filip Tehlar694396d2017-02-17 14:29:11 +0100159};
160
Filip Tehlar694396d2017-02-17 14:29:11 +0100161/** \brief enable or disable ONE feature
162 @param client_index - opaque cookie to identify the sender
163 @param context - sender context, to match reply w/ request
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100164 @param is_enable - enable protocol if non-zero, else disable
Filip Tehlar694396d2017-02-17 14:29:11 +0100165*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400166autoreply define one_enable_disable
Filip Tehlar694396d2017-02-17 14:29:11 +0100167{
168 u32 client_index;
169 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100170 bool is_enable [default=true];
Filip Tehlar694396d2017-02-17 14:29:11 +0100171};
172
Filip Tehlaref2a5bf2017-05-30 07:14:46 +0200173/** \brief configure or delete ONE NSH mapping
174 @param client_index - opaque cookie to identify the sender
175 @param context - sender context, to match reply w/ request
176 @param ls_name - locator set name
177 @param is_add - add locator set if non-zero; delete otherwise
178*/
179autoreply define one_nsh_set_locator_set
180{
181 u32 client_index;
182 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100183 bool is_add [default=true];
184 string ls_name[64];
Filip Tehlaref2a5bf2017-05-30 07:14:46 +0200185};
186
Filip Tehlar694396d2017-02-17 14:29:11 +0100187/** \brief configure or disable ONE PITR node
188 @param client_index - opaque cookie to identify the sender
189 @param context - sender context, to match reply w/ request
190 @param ls_name - locator set name
191 @param is_add - add locator set if non-zero, else disable pitr
192*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400193autoreply define one_pitr_set_locator_set
Filip Tehlar694396d2017-02-17 14:29:11 +0100194{
195 u32 client_index;
196 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100197 bool is_add [default=true];
198 string ls_name[64];
Filip Tehlar694396d2017-02-17 14:29:11 +0100199};
200
Filip Tehlar694396d2017-02-17 14:29:11 +0100201/** \brief configure or disable use of PETR
202 @param client_index - opaque cookie to identify the sender
203 @param context - sender context, to match reply w/ request
204 @param is_ip4 - Address is IPv4 if set and IPv6 otherwise
205 @param address - PETR IP address
Filip Tehlar67a99f82017-03-10 13:18:02 +0100206 @param is_add - add locator set if non-zero, else disable PETR
Filip Tehlar694396d2017-02-17 14:29:11 +0100207*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400208autoreply define one_use_petr
Filip Tehlar694396d2017-02-17 14:29:11 +0100209{
210 u32 client_index;
211 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100212 vl_api_address_t ip_address;
213 bool is_add [default=true];
Filip Tehlar694396d2017-02-17 14:29:11 +0100214};
215
Filip Tehlar694396d2017-02-17 14:29:11 +0100216/** \brief Request for ONE PETR status
217 @param client_index - opaque cookie to identify the sender
218 @param context - sender context, to match reply w/ request
219*/
220define show_one_use_petr
221{
222 u32 client_index;
223 u32 context;
224};
225
226/** \brief ONE PETR status, enable or disable
227 @param context - sender context, to match reply w/ request
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100228 @param enable - ONE PETR enable if non-zero, else disable
Filip Tehlar694396d2017-02-17 14:29:11 +0100229 @param is_ip4 - Address is IPv4 if non-zero, else IPv6
230 @param address - PETR IP address
231*/
232define show_one_use_petr_reply
233{
234 u32 context;
235 i32 retval;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100236 bool status;
237 vl_api_address_t ip_address;
Filip Tehlar694396d2017-02-17 14:29:11 +0100238};
239
240/** \brief Get state of ONE RLOC probing
241 @param client_index - opaque cookie to identify the sender
242 @param context - sender context, to match reply w/ request
243*/
244define show_one_rloc_probe_state
245{
246 u32 client_index;
247 u32 context;
248};
249
250/** \brief Reply for show_one_rloc_probe_state
251 @param context - returned sender context, to match reply w/ request
252 @param retval - return code
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100253 @param is_enable - state of RLOC probing
Filip Tehlar694396d2017-02-17 14:29:11 +0100254*/
255define show_one_rloc_probe_state_reply
256{
257 u32 context;
258 i32 retval;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100259 bool is_enable;
Filip Tehlar694396d2017-02-17 14:29:11 +0100260};
261
262/** \brief enable/disable ONE RLOC probing
263 @param client_index - opaque cookie to identify the sender
264 @param context - sender context, to match reply w/ request
265 @param is_enable - enable if non-zero; disable otherwise
266*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400267autoreply define one_rloc_probe_enable_disable
Filip Tehlar694396d2017-02-17 14:29:11 +0100268{
269 u32 client_index;
270 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100271 bool is_enable [default=true];
Filip Tehlar694396d2017-02-17 14:29:11 +0100272};
273
Filip Tehlar694396d2017-02-17 14:29:11 +0100274/** \brief enable/disable ONE map-register
275 @param client_index - opaque cookie to identify the sender
276 @param context - sender context, to match reply w/ request
277 @param is_enable - enable if non-zero; disable otherwise
278*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400279autoreply define one_map_register_enable_disable
Filip Tehlar694396d2017-02-17 14:29:11 +0100280{
281 u32 client_index;
282 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100283 bool is_enable [default=true];
Filip Tehlar694396d2017-02-17 14:29:11 +0100284};
285
Filip Tehlar694396d2017-02-17 14:29:11 +0100286/** \brief Get state of ONE map-register
287 @param client_index - opaque cookie to identify the sender
288 @param context - sender context, to match reply w/ request
289*/
290define show_one_map_register_state
291{
292 u32 client_index;
293 u32 context;
294};
295
296/** \brief Reply for show_one_map_register_state
297 @param context - returned sender context, to match reply w/ request
298 @param retval - return code
299*/
300define show_one_map_register_state_reply
301{
302 u32 context;
303 i32 retval;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100304 bool is_enable;
305};
306
307enum one_map_mode
308{
309 ONE_MAP_MODE_API_DST_ONLY = 0,
310 ONE_MAP_MODE_API_SRC_DST = 1,
Filip Tehlar694396d2017-02-17 14:29:11 +0100311};
312
313/** \brief set ONE map-request mode. Based on configuration VPP will send
314 src/dest or just normal destination map requests.
315 @param client_index - opaque cookie to identify the sender
316 @param context - sender context, to match reply w/ request
317 @param mode - new map-request mode. Supported values are:
318 0 - destination only
Paul Vinciguerrabdc0e6b2018-09-22 05:32:50 -0700319 1 - source/destination
Filip Tehlar694396d2017-02-17 14:29:11 +0100320*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400321autoreply define one_map_request_mode
Filip Tehlar694396d2017-02-17 14:29:11 +0100322{
323 u32 client_index;
324 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100325 vl_api_one_map_mode_t mode;
Filip Tehlar694396d2017-02-17 14:29:11 +0100326};
327
Filip Tehlar694396d2017-02-17 14:29:11 +0100328/** \brief Request for ONE map-request mode
329 @param client_index - opaque cookie to identify the sender
330 @param context - sender context, to match reply w/ request
331*/
332define show_one_map_request_mode
333{
334 u32 client_index;
335 u32 context;
336};
337
338/** \brief Reply for show_one_map_request_mode
339 @param context - returned sender context, to match reply w/ request
340 @param retval - return code
341 @param mode - map-request mode
342*/
343define show_one_map_request_mode_reply
344{
345 u32 context;
346 i32 retval;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100347 vl_api_one_map_mode_t mode;
Filip Tehlar974cdc62017-02-22 18:09:49 +0100348};
349
Filip Tehlar694396d2017-02-17 14:29:11 +0100350/** \brief add or delete remote static mapping
351 @param client_index - opaque cookie to identify the sender
352 @param context - sender context, to match reply w/ request
353 @param is_add - add address if non-zero, else delete
354 @param is_src_dst - flag indicating src/dst based routing policy
355 @param del_all - if set, delete all remote mappings
356 @param vni - virtual network instance
357 @param action - negative map-reply action
Filip Tehlar694396d2017-02-17 14:29:11 +0100358 @param deid - dst EID
359 @param seid - src EID, valid only if is_src_dst is enabled
360 @param rloc_num - number of remote locators
361 @param rlocs - remote locator records
362*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400363autoreply manual_print manual_endian define one_add_del_remote_mapping
Filip Tehlar694396d2017-02-17 14:29:11 +0100364{
365 u32 client_index;
366 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100367 bool is_add [default=true];
368 bool is_src_dst;
369 bool del_all;
Filip Tehlar694396d2017-02-17 14:29:11 +0100370 u32 vni;
371 u8 action;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100372 vl_api_eid_t deid;
373 vl_api_eid_t seid;
Filip Tehlar694396d2017-02-17 14:29:11 +0100374 u32 rloc_num;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100375 vl_api_remote_locator_t rlocs[rloc_num];
376};
377
378typedef one_l2_arp_entry
379{
380 vl_api_mac_address_t mac;
381 vl_api_ip4_address_t ip4;
Filip Tehlar694396d2017-02-17 14:29:11 +0100382};
383
Filip Tehlard5a65db2017-05-17 17:21:10 +0200384/** \brief Add/delete L2 ARP entries
385 @param client_index - opaque cookie to identify the sender
386 @param context - sender context, to match reply w/ request
387 @param is_add - add if non-zero; delete otherwise
388 @param bd - bridge domain
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100389 @param entry - ARP entry
Filip Tehlard5a65db2017-05-17 17:21:10 +0200390*/
391autoreply define one_add_del_l2_arp_entry
392{
393 u32 client_index;
394 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100395 bool is_add [default=true];
Filip Tehlard5a65db2017-05-17 17:21:10 +0200396 u32 bd;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100397 vl_api_one_l2_arp_entry_t entry;
Filip Tehlard5a65db2017-05-17 17:21:10 +0200398};
399
400/** \brief Request for L2 ARP entries from specified bridge domain
401 @param client_index - opaque cookie to identify the sender
402 @param context - sender context, to match reply w/ request
403 @param bd - bridge domain
404*/
405define one_l2_arp_entries_get
406{
407 u32 client_index;
408 u32 context;
409 u32 bd;
410};
411
Filip Tehlard5a65db2017-05-17 17:21:10 +0200412/** \brief Reply with L2 ARP entries from specified bridge domain
413 @param context - sender context, to match reply w/ request
414 @param retval - error code
415 @param count - number of elements in the list
416 @param vl_api_one_arp_entry_t - list of entries
417*/
418manual_print manual_endian define one_l2_arp_entries_get_reply
419{
420 u32 context;
421 i32 retval;
422 u32 count;
423 vl_api_one_l2_arp_entry_t entries[count];
424};
425
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100426typedef one_ndp_entry
427{
428 vl_api_mac_address_t mac;
429 vl_api_ip6_address_t ip6;
430};
431
432
Filip Tehlard6307132017-09-04 18:54:33 +0200433autoreply define one_add_del_ndp_entry
434{
435 u32 client_index;
436 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100437 bool is_add [default=true];
Filip Tehlard6307132017-09-04 18:54:33 +0200438 u32 bd;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100439 vl_api_one_ndp_entry_t entry;
Filip Tehlard6307132017-09-04 18:54:33 +0200440};
441
442define one_ndp_entries_get
443{
444 u32 client_index;
445 u32 context;
446 u32 bd;
447};
448
Filip Tehlard6307132017-09-04 18:54:33 +0200449manual_print manual_endian define one_ndp_entries_get_reply
450{
451 u32 context;
452 i32 retval;
453 u32 count;
454 vl_api_one_ndp_entry_t entries[count];
455};
456
457/** \brief Set ONE transport protocol
458 @param client_index - opaque cookie to identify the sender
459 @param context - sender context, to match reply w/ request
Paul Vinciguerrabdc0e6b2018-09-22 05:32:50 -0700460 @param protocol - supported values:
Filip Tehlard6307132017-09-04 18:54:33 +0200461 1: UDP based LISP (default)
462 2: binary API
463*/
464autoreply define one_set_transport_protocol
465{
466 u32 client_index;
467 u32 context;
468 u8 protocol;
469};
470
471define one_get_transport_protocol
472{
473 u32 client_index;
474 u32 context;
475};
476
477define one_get_transport_protocol_reply
478{
479 u32 context;
480 i32 retval;
481 u8 protocol;
482};
483
484/** \brief Request for list of bridge domains used by neighbor discovery
485 @param client_index - opaque cookie to identify the sender
486 @param context - sender context, to match reply w/ request
487*/
488define one_ndp_bd_get
489{
490 u32 client_index;
491 u32 context;
492};
493
494/** \brief Reply with list of bridge domains used by neighbor discovery
495 @param context - sender context, to match reply w/ request
496 @param count - number of elements in the list
497 @param bridge_domains - list of BDs
498*/
499manual_print manual_endian define one_ndp_bd_get_reply
500{
501 u32 context;
502 i32 retval;
503 u32 count;
504 u32 bridge_domains[count];
505};
506
Filip Tehlard5a65db2017-05-17 17:21:10 +0200507/** \brief Request for list of bridge domains used by L2 ARP table
508 @param client_index - opaque cookie to identify the sender
509 @param context - sender context, to match reply w/ request
510*/
511define one_l2_arp_bd_get
512{
513 u32 client_index;
514 u32 context;
515};
516
517/** \brief Reply with list of bridge domains used by L2 ARP table
518 @param context - sender context, to match reply w/ request
519 @param count - number of elements in the list
520 @param bridge_domains - list of BDs
521*/
522manual_print manual_endian define one_l2_arp_bd_get_reply
523{
524 u32 context;
525 i32 retval;
526 u32 count;
527 u32 bridge_domains[count];
528};
529
Filip Tehlar694396d2017-02-17 14:29:11 +0100530/** \brief add or delete ONE adjacency adjacency
531 @param client_index - opaque cookie to identify the sender
532 @param context - sender context, to match reply w/ request
533 @param is_add - add address if non-zero, else delete
534 @param vni - virtual network instance
Filip Tehlar694396d2017-02-17 14:29:11 +0100535 @param reid - remote EID
536 @param leid - local EID
537*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400538autoreply define one_add_del_adjacency
Filip Tehlar694396d2017-02-17 14:29:11 +0100539{
540 u32 client_index;
541 u32 context;
542 u8 is_add;
543 u32 vni;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100544 vl_api_eid_t reid;
545 vl_api_eid_t leid;
Filip Tehlar694396d2017-02-17 14:29:11 +0100546};
547
Filip Tehlar694396d2017-02-17 14:29:11 +0100548/** \brief add or delete map request itr rlocs
549 @param client_index - opaque cookie to identify the sender
550 @param context - sender context, to match reply w/ request
551 @param is_add - add address if non-zero, else delete
552 @param locator_set_name - locator set name
553*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400554autoreply define one_add_del_map_request_itr_rlocs
Filip Tehlar694396d2017-02-17 14:29:11 +0100555{
556 u32 client_index;
557 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100558 bool is_add [default=true];
559 string locator_set_name[64];
Filip Tehlar694396d2017-02-17 14:29:11 +0100560};
561
Filip Tehlar694396d2017-02-17 14:29:11 +0100562/** \brief map/unmap vni/bd_index to vrf
563 @param client_index - opaque cookie to identify the sender
564 @param context - sender context, to match reply w/ request
565 @param is_add - add or delete mapping
566 @param dp_table - virtual network id/bridge domain index
567 @param vrf - vrf
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100568 @param is_l2 - is l2
Filip Tehlar694396d2017-02-17 14:29:11 +0100569*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400570autoreply define one_eid_table_add_del_map
Filip Tehlar694396d2017-02-17 14:29:11 +0100571{
572 u32 client_index;
573 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100574 bool is_add [default=true];
Filip Tehlar694396d2017-02-17 14:29:11 +0100575 u32 vni;
576 u32 dp_table;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100577 bool is_l2;
Filip Tehlar694396d2017-02-17 14:29:11 +0100578};
579
Filip Tehlar694396d2017-02-17 14:29:11 +0100580/** \brief Request for map one locator status
581 @param client_index - opaque cookie to identify the sender
582 @param context - sender context, to match reply w/ request
583 @param locator_set_index - index of locator_set
584 @param ls_name - locator set name
585 @param is_index_set - flag indicating whether ls_name or ls_index is set
586 */
587define one_locator_dump
588{
589 u32 client_index;
590 u32 context;
591 u32 ls_index;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100592 string ls_name[64];
593 bool is_index_set;
Filip Tehlar694396d2017-02-17 14:29:11 +0100594};
595
596/** \brief ONE locator_set status
597 @param local - if is set, then locator is local
598 @param locator_set_name - name of the locator_set
599 @param sw_if_index - sw_if_index of the locator
600 @param priority - locator priority
601 @param weight - locator weight
602 */
603define one_locator_details
604{
605 u32 context;
606 u8 local;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100607 vl_api_interface_index_t sw_if_index;
608 vl_api_address_t ip_address;
Filip Tehlar694396d2017-02-17 14:29:11 +0100609 u8 priority;
610 u8 weight;
611};
612
613/** \brief ONE locator_set status
614 @param context - sender context, to match reply w/ request
615 @param ls_index - locator set index
616 @param ls_name - name of the locator set
617 */
618define one_locator_set_details
619{
620 u32 context;
621 u32 ls_index;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100622 string ls_name[64];
623};
624
625enum one_filter
626{
627 ONE_FILTER_API_ALL = 0,
628 ONE_FILTER_API_LOCAL = 1,
629 ONE_FILTER_API_REMOTE = 2,
Filip Tehlar694396d2017-02-17 14:29:11 +0100630};
631
632/** \brief Request for locator_set summary status
633 @param client_index - opaque cookie to identify the sender
634 @param context - sender context, to match reply w/ request
635 @param filter - filter type
636 Supported values:
637 0: all locator sets
638 1: local locator sets
639 2: remote locator sets
640 */
641define one_locator_set_dump
642{
643 u32 client_index;
644 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100645 vl_api_one_filter_t filter;
Filip Tehlar694396d2017-02-17 14:29:11 +0100646};
647
648/** \brief Dump ONE eid-table
649 @param client_index - opaque cookie to identify the sender
650 @param context - sender context, to match reply w/ request
651 @param locator_set_index - index of locator_set, if ~0 then the mapping
652 is negative
653 @param action - negative map request action
654 @param is_local - local if non-zero, else remote
Filip Tehlar694396d2017-02-17 14:29:11 +0100655 @param is_src_dst - EID is type of source/destination
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100656 @param deid - EID can be ip4, ip6 or mac
Filip Tehlar694396d2017-02-17 14:29:11 +0100657 @param seid - source EID can be ip4, ip6 or mac
Filip Tehlar694396d2017-02-17 14:29:11 +0100658 @param vni - virtual network instance
659 @param ttl - time to live
660 @param authoritative - authoritative
Filip Tehlar694396d2017-02-17 14:29:11 +0100661 @param key - secret key
662*/
663
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100664// FIXME: action, authoritative
665
Filip Tehlar694396d2017-02-17 14:29:11 +0100666define one_eid_table_details
667{
668 u32 context;
669 u32 locator_set_index;
670 u8 action;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100671 bool is_local;
672 bool is_src_dst;
Filip Tehlar694396d2017-02-17 14:29:11 +0100673 u32 vni;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100674 vl_api_eid_t deid;
675 vl_api_eid_t seid;
Filip Tehlar694396d2017-02-17 14:29:11 +0100676 u32 ttl;
677 u8 authoritative;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100678 vl_api_hmac_key_t key;
Filip Tehlar694396d2017-02-17 14:29:11 +0100679};
680
681/** \brief Request for eid table summary status
682 @param client_index - opaque cookie to identify the sender
683 @param context - sender context, to match reply w/ request
684 @param eid_set - if non-zero request info about specific mapping
685 @param vni - virtual network instance; valid only if eid_set != 0
Filip Tehlar694396d2017-02-17 14:29:11 +0100686 @param eid - endpoint identifier
687 @param filter - filter type;
688 Support values:
689 0: all eid
690 1: local eid
691 2: remote eid
692 */
693define one_eid_table_dump
694{
695 u32 client_index;
696 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100697 bool eid_set;
Filip Tehlar694396d2017-02-17 14:29:11 +0100698 u32 vni;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100699 vl_api_eid_t eid;
700 vl_api_one_filter_t filter;
Filip Tehlar694396d2017-02-17 14:29:11 +0100701};
702
703/** \brief ONE adjacency
704 @param eid_type -
705 0 : ipv4
706 1 : ipv6
707 2 : mac
708 @param reid - remote EID
709 @param leid - local EID
710 @param reid_prefix_len - remote EID IP prefix length
711 @param leid_prefix_len - local EID IP prefix length
712 */
Paul Vinciguerrae7174822019-08-07 00:05:59 -0400713typedef one_adjacency
Filip Tehlar694396d2017-02-17 14:29:11 +0100714{
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100715 vl_api_eid_t reid;
716 vl_api_eid_t leid;
Filip Tehlar694396d2017-02-17 14:29:11 +0100717};
718
719/** \brief ONE adjacency reply
720 @param count - number of adjacencies
721 @param adjacencies - array of adjacencies
722 */
723manual_endian manual_print define one_adjacencies_get_reply
724{
725 u32 context;
726 i32 retval;
727 u32 count;
728 vl_api_one_adjacency_t adjacencies[count];
729};
730
731/** \brief Request for ONE adjacencies
732 @param client_index - opaque cookie to identify the sender
733 @param context - sender context, to match reply w/ request
734 @param vni - filter adjacencies by VNI
735 */
736define one_adjacencies_get
737{
738 u32 client_index;
739 u32 context;
740 u32 vni;
741};
742
743/** \brief Shows relationship between vni and vrf/bd
744 @param dp_table - VRF index or bridge domain index
Paul Vinciguerrabdc0e6b2018-09-22 05:32:50 -0700745 @param vni - virtual network instance
Filip Tehlar694396d2017-02-17 14:29:11 +0100746 */
747define one_eid_table_map_details
748{
749 u32 context;
750 u32 vni;
751 u32 dp_table;
752};
753
754/** \brief Request for one_eid_table_map_details
755 @param client_index - opaque cookie to identify the sender
756 @param context - sender context, to match reply w/ request
757 @param is_l2 - if set dump vni/bd mappings else vni/vrf
758 */
759define one_eid_table_map_dump
760{
761 u32 client_index;
762 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100763 bool is_l2;
Filip Tehlar694396d2017-02-17 14:29:11 +0100764};
765
766/** \brief Dumps all VNIs used in mappings
767 @param client_index - opaque cookie to identify the sender
768 @param context - sender context, to match reply w/ request
769 */
770define one_eid_table_vni_dump
771{
772 u32 client_index;
773 u32 context;
774};
775
776/** \brief reply to one_eid_table_vni_dump
Filip Tehlar694396d2017-02-17 14:29:11 +0100777 @param context - sender context, to match reply w/ request
778 @param vni - virtual network instance
779 */
780define one_eid_table_vni_details
781{
Filip Tehlar694396d2017-02-17 14:29:11 +0100782 u32 context;
783 u32 vni;
784};
785
786/** \brief ONE map resolver status
787 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
788 @param ip_address - array of address bytes
789 */
790define one_map_resolver_details
791{
792 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100793 vl_api_address_t ip_address;
Filip Tehlar694396d2017-02-17 14:29:11 +0100794};
795
796/** \brief Request for map resolver summary status
797 @param client_index - opaque cookie to identify the sender
798 @param context - sender context, to match reply w/ request
799 */
800define one_map_resolver_dump
801{
802 u32 client_index;
803 u32 context;
804};
805
806/** \brief ONE map server details
807 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
808 @param ip_address - array of address bytes
809 */
810define one_map_server_details
811{
812 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100813 vl_api_address_t ip_address;
Filip Tehlar694396d2017-02-17 14:29:11 +0100814};
815
816/** \brief Request for map server summary status
817 @param client_index - opaque cookie to identify the sender
818 @param context - sender context, to match reply w/ request
819 */
820define one_map_server_dump
821{
822 u32 client_index;
823 u32 context;
824};
825
826/** \brief Request for ONE status
827 @param client_index - opaque cookie to identify the sender
828 @param context - sender context, to match reply w/ request
829*/
830define show_one_status
831{
832 u32 client_index;
833 u32 context;
834};
835
836/** \brief ONE status
837 @param context - sender context, to match reply w/ request
838 @param feature_status - enabled if non-zero, else disabled
839 @param gpe_status - enabled if non-zero, else disabled
840*/
841define show_one_status_reply
842{
843 u32 context;
844 i32 retval;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100845 bool feature_status;
846 bool gpe_status;
Filip Tehlar694396d2017-02-17 14:29:11 +0100847};
848
849/** \brief Get ONE map request itr rlocs status
850 @param context - sender context, to match reply w/ request
851 @param locator_set_name - name of the locator_set
852 */
853define one_get_map_request_itr_rlocs
854{
855 u32 client_index;
856 u32 context;
857};
858
859/** \brief Request for map request itr rlocs summary status
860 */
861define one_get_map_request_itr_rlocs_reply
862{
863 u32 context;
864 i32 retval;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100865 string locator_set_name[64];
Filip Tehlar694396d2017-02-17 14:29:11 +0100866};
867
Filip Tehlaref2a5bf2017-05-30 07:14:46 +0200868/** \brief Request for ONE NSH mapping
869 @param client_index - opaque cookie to identify the sender
870 @param context - sender context, to match reply w/ request
871*/
872define show_one_nsh_mapping
873{
874 u32 client_index;
875 u32 context;
876};
877
878/** \brief Reply for ONE NSH mapping
879 @param context - sender context, to match reply w/ request
880 @param is_set - is ONE NSH mapping set
881 @param locator_set_name - name of the locator_set if NSH mapping is set
882*/
883define show_one_nsh_mapping_reply
884{
885 u32 context;
886 i32 retval;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100887 bool is_set;
888 string locator_set_name[64];
Filip Tehlaref2a5bf2017-05-30 07:14:46 +0200889};
890
Filip Tehlar694396d2017-02-17 14:29:11 +0100891/** \brief Request for ONE PITR status
892 @param client_index - opaque cookie to identify the sender
893 @param context - sender context, to match reply w/ request
894*/
895define show_one_pitr
896{
897 u32 client_index;
898 u32 context;
899};
900
901/** \brief Status of ONE PITR, enable or disable
902 @param context - sender context, to match reply w/ request
903 @param status - ONE PITR enable if non-zero, else disable
904 @param locator_set_name - name of the locator_set
905*/
906define show_one_pitr_reply
907{
908 u32 context;
909 i32 retval;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100910 bool status;
911 string locator_set_name[64];
Filip Tehlar694396d2017-02-17 14:29:11 +0100912};
Filip Tehlar7eaf0e52017-03-08 08:46:51 +0100913
914define one_stats_dump
915{
916 u32 client_index;
917 u32 context;
918};
919
920define one_stats_details
921{
922 u32 context;
923 u32 vni;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100924 vl_api_eid_t deid;
925 vl_api_eid_t seid;
926 vl_api_address_t rloc;
927 vl_api_address_t lloc;
Filip Tehlar7eaf0e52017-03-08 08:46:51 +0100928
929 u32 pkt_count;
930 u32 bytes;
931};
932
Dave Barach11b8dbf2017-04-24 10:46:54 -0400933autoreply define one_stats_flush
Filip Tehlar21511912017-04-07 10:41:42 +0200934{
935 u32 client_index;
936 u32 context;
937};
938
Dave Barach11b8dbf2017-04-24 10:46:54 -0400939autoreply define one_stats_enable_disable
Filip Tehlar7eaf0e52017-03-08 08:46:51 +0100940{
941 u32 client_index;
942 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100943 bool is_enable [default=true];
Filip Tehlar7eaf0e52017-03-08 08:46:51 +0100944};
945
Filip Tehlar7eaf0e52017-03-08 08:46:51 +0100946define show_one_stats_enable_disable
947{
948 u32 client_index;
949 u32 context;
950};
951
952define show_one_stats_enable_disable_reply
953{
954 u32 context;
955 i32 retval;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100956 bool is_enable;
Filip Tehlar7eaf0e52017-03-08 08:46:51 +0100957};
958
Filip Tehlar7048ff12017-07-27 08:09:14 +0200959autoreply define one_map_register_fallback_threshold
960{
961 u32 client_index;
962 u32 context;
963 u32 value;
964};
965
966define show_one_map_register_fallback_threshold
967{
968 u32 client_index;
969 u32 context;
970};
971
972define show_one_map_register_fallback_threshold_reply
973{
974 u32 context;
975 i32 retval;
976 u32 value;
977};
978
Filip Tehlar111a5ce2017-09-06 10:07:39 +0200979autoreply define one_enable_disable_xtr_mode
980{
981 u32 client_index;
982 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100983 bool is_enable [default=true];
Filip Tehlar111a5ce2017-09-06 10:07:39 +0200984};
985
986define one_show_xtr_mode
987{
988 u32 client_index;
989 u32 context;
990};
991
992define one_show_xtr_mode_reply
993{
994 u32 context;
995 i32 retval;
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100996 bool is_enable;
Filip Tehlar111a5ce2017-09-06 10:07:39 +0200997};
998
999autoreply define one_enable_disable_petr_mode
1000{
1001 u32 client_index;
1002 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +01001003 bool is_enable [default=true];
Filip Tehlar111a5ce2017-09-06 10:07:39 +02001004};
1005
1006define one_show_petr_mode
1007{
1008 u32 client_index;
1009 u32 context;
1010};
1011
1012define one_show_petr_mode_reply
1013{
1014 u32 context;
1015 i32 retval;
Jakub Grajciar58db6e12020-01-30 13:26:43 +01001016 bool is_enable;
Filip Tehlar111a5ce2017-09-06 10:07:39 +02001017};
1018
1019autoreply define one_enable_disable_pitr_mode
1020{
1021 u32 client_index;
1022 u32 context;
Jakub Grajciar58db6e12020-01-30 13:26:43 +01001023 bool is_enable [default=true];
Filip Tehlar111a5ce2017-09-06 10:07:39 +02001024};
1025
1026define one_show_pitr_mode
1027{
1028 u32 client_index;
1029 u32 context;
1030};
1031
1032define one_show_pitr_mode_reply
1033{
1034 u32 context;
1035 i32 retval;
Jakub Grajciar58db6e12020-01-30 13:26:43 +01001036 bool is_enable;
Filip Tehlar111a5ce2017-09-06 10:07:39 +02001037};
1038
Filip Tehlar7eaf0e52017-03-08 08:46:51 +01001039/*
1040 * Local Variables:
1041 * eval: (c-set-style "gnu")
1042 * End:
1043 */