blob: bc3f1b162219b430d385bce2c40c432ad89c1d0e [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
Ole Troan9d420872017-10-12 13:06:35 +020016option version = "1.0.0";
Dave Barach0d056e52017-09-28 15:11:16 -040017
Paul Vinciguerrae7174822019-08-07 00:05:59 -040018typedef one_local_locator
Filip Tehlar974cdc62017-02-22 18:09:49 +010019{
20 u32 sw_if_index;
21 u8 priority;
22 u8 weight;
23};
24
Filip Tehlar694396d2017-02-17 14:29:11 +010025/** \brief add or delete locator_set
26 @param client_index - opaque cookie to identify the sender
27 @param context - sender context, to match reply w/ request
28 @param is_add - add address if non-zero, else delete
29 @param locator_set_name - locator name
30 @param locator_num - number of locators
31 @param locators - locator records
32*/
33manual_endian manual_print define one_add_del_locator_set
34{
35 u32 client_index;
36 u32 context;
37 u8 is_add;
38 u8 locator_set_name[64];
39 u32 locator_num;
Filip Tehlar974cdc62017-02-22 18:09:49 +010040 vl_api_one_local_locator_t locators[locator_num];
Filip Tehlar694396d2017-02-17 14:29:11 +010041};
42
43/** \brief Reply for locator_set add/del
44 @param context - returned sender context, to match reply w/ request
45 @param retval - return code
46 @param ls_index - locator set index
47*/
48define one_add_del_locator_set_reply
49{
50 u32 context;
51 i32 retval;
52 u32 ls_index;
53};
54
55/** \brief add or delete locator for locator set
56 @param client_index - opaque cookie to identify the sender
57 @param context - sender context, to match reply w/ request
58 @param is_add - add address if non-zero, else delete
59 @param locator_set_name - name of locator_set to add/del locator
60 @param sw_if_index - index of the interface
61 @param priority - priority of the locator
62 @param weight - weight of the locator
63*/
Dave Barach11b8dbf2017-04-24 10:46:54 -040064autoreply define one_add_del_locator
Filip Tehlar694396d2017-02-17 14:29:11 +010065{
66 u32 client_index;
67 u32 context;
68 u8 is_add;
69 u8 locator_set_name[64];
70 u32 sw_if_index;
71 u8 priority;
72 u8 weight;
73};
74
Filip Tehlar694396d2017-02-17 14:29:11 +010075/** \brief add or delete ONE eid-table
76 @param client_index - opaque cookie to identify the sender
77 @param context - sender context, to match reply w/ request
78 @param is_add - add address if non-zero, else delete
79 @param eid_type:
80 0 : ipv4
81 1 : ipv6
82 2 : mac
83 @param eid - EID can be ip4, ip6 or mac
84 @param prefix_len - prefix len
85 @param locator_set_name - name of locator_set to add/del eid-table
86 @param vni - virtual network instance
87 @param key_id
88 HMAC_NO_KEY 0
89 HMAC_SHA_1_96 1
90 HMAC_SHA_256_128 2
91 @param key - secret key
92*/
Dave Barach11b8dbf2017-04-24 10:46:54 -040093autoreply define one_add_del_local_eid
Filip Tehlar694396d2017-02-17 14:29:11 +010094{
95 u32 client_index;
96 u32 context;
97 u8 is_add;
98 u8 eid_type;
99 u8 eid[16];
100 u8 prefix_len;
101 u8 locator_set_name[64];
102 u32 vni;
103 u16 key_id;
104 u8 key[64];
105};
106
Filip Tehlar1e553a02017-08-02 12:45:07 +0200107/** \brief Set TTL for map register messages
108 @param client_index - opaque cookie to identify the sender
109 @param context - sender context, to match reply w/ request
110 @param ttl - time to live
111*/
112autoreply define one_map_register_set_ttl
113{
114 u32 client_index;
115 u32 context;
116 u32 ttl;
117};
118
119/** \brief Get TTL for map register messages
120 @param client_index - opaque cookie to identify the sender
121 @param context - sender context, to match reply w/ request
122*/
123define show_one_map_register_ttl
124{
125 u32 client_index;
126 u32 context;
127};
128
129/** \brief Contains current TTL for map register messages
130 @param client_index - opaque cookie to identify the sender
131 @param retval - return code
132 @param ttl - time to live
133*/
134define show_one_map_register_ttl_reply
135{
136 u32 context;
137 i32 retval;
138 u32 ttl;
139};
140
Filip Tehlar694396d2017-02-17 14:29:11 +0100141/** \brief Add/delete map server
142 @param client_index - opaque cookie to identify the sender
143 @param context - sender context, to match reply w/ request
144 @param is_add - add address if non-zero; delete otherwise
145 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
146 @param ip_address - map server IP address
147*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400148autoreply define one_add_del_map_server
Filip Tehlar694396d2017-02-17 14:29:11 +0100149{
150 u32 client_index;
151 u32 context;
152 u8 is_add;
153 u8 is_ipv6;
154 u8 ip_address[16];
155};
156
Filip Tehlar694396d2017-02-17 14:29:11 +0100157/** \brief add or delete map-resolver
158 @param client_index - opaque cookie to identify the sender
159 @param context - sender context, to match reply w/ request
160 @param is_add - add address if non-zero, else delete
161 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
162 @param ip_address - array of address bytes
163*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400164autoreply define one_add_del_map_resolver
Filip Tehlar694396d2017-02-17 14:29:11 +0100165{
166 u32 client_index;
167 u32 context;
168 u8 is_add;
169 u8 is_ipv6;
170 u8 ip_address[16];
171};
172
Filip Tehlar694396d2017-02-17 14:29:11 +0100173/** \brief enable or disable ONE feature
174 @param client_index - opaque cookie to identify the sender
175 @param context - sender context, to match reply w/ request
176 @param is_en - enable protocol if non-zero, else disable
177*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400178autoreply define one_enable_disable
Filip Tehlar694396d2017-02-17 14:29:11 +0100179{
180 u32 client_index;
181 u32 context;
182 u8 is_en;
183};
184
Filip Tehlaref2a5bf2017-05-30 07:14:46 +0200185/** \brief configure or delete ONE NSH mapping
186 @param client_index - opaque cookie to identify the sender
187 @param context - sender context, to match reply w/ request
188 @param ls_name - locator set name
189 @param is_add - add locator set if non-zero; delete otherwise
190*/
191autoreply define one_nsh_set_locator_set
192{
193 u32 client_index;
194 u32 context;
195 u8 is_add;
196 u8 ls_name[64];
197};
198
Filip Tehlar694396d2017-02-17 14:29:11 +0100199/** \brief configure or disable ONE PITR node
200 @param client_index - opaque cookie to identify the sender
201 @param context - sender context, to match reply w/ request
202 @param ls_name - locator set name
203 @param is_add - add locator set if non-zero, else disable pitr
204*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400205autoreply define one_pitr_set_locator_set
Filip Tehlar694396d2017-02-17 14:29:11 +0100206{
207 u32 client_index;
208 u32 context;
209 u8 is_add;
210 u8 ls_name[64];
211};
212
Filip Tehlar694396d2017-02-17 14:29:11 +0100213/** \brief configure or disable use of PETR
214 @param client_index - opaque cookie to identify the sender
215 @param context - sender context, to match reply w/ request
216 @param is_ip4 - Address is IPv4 if set and IPv6 otherwise
217 @param address - PETR IP address
Filip Tehlar67a99f82017-03-10 13:18:02 +0100218 @param is_add - add locator set if non-zero, else disable PETR
Filip Tehlar694396d2017-02-17 14:29:11 +0100219*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400220autoreply define one_use_petr
Filip Tehlar694396d2017-02-17 14:29:11 +0100221{
222 u32 client_index;
223 u32 context;
224 u8 is_ip4;
225 u8 address[16];
226 u8 is_add;
227};
228
Filip Tehlar694396d2017-02-17 14:29:11 +0100229/** \brief Request for ONE PETR status
230 @param client_index - opaque cookie to identify the sender
231 @param context - sender context, to match reply w/ request
232*/
233define show_one_use_petr
234{
235 u32 client_index;
236 u32 context;
237};
238
239/** \brief ONE PETR status, enable or disable
240 @param context - sender context, to match reply w/ request
241 @param status - ONE PETR enable if non-zero, else disable
242 @param is_ip4 - Address is IPv4 if non-zero, else IPv6
243 @param address - PETR IP address
244*/
245define show_one_use_petr_reply
246{
247 u32 context;
248 i32 retval;
249 u8 status;
250 u8 is_ip4;
251 u8 address[16];
252};
253
254/** \brief Get state of ONE RLOC probing
255 @param client_index - opaque cookie to identify the sender
256 @param context - sender context, to match reply w/ request
257*/
258define show_one_rloc_probe_state
259{
260 u32 client_index;
261 u32 context;
262};
263
264/** \brief Reply for show_one_rloc_probe_state
265 @param context - returned sender context, to match reply w/ request
266 @param retval - return code
267 @param is_enabled - state of RLOC probing
268*/
269define show_one_rloc_probe_state_reply
270{
271 u32 context;
272 i32 retval;
273 u8 is_enabled;
274};
275
276/** \brief enable/disable ONE RLOC probing
277 @param client_index - opaque cookie to identify the sender
278 @param context - sender context, to match reply w/ request
279 @param is_enable - enable if non-zero; disable otherwise
280*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400281autoreply define one_rloc_probe_enable_disable
Filip Tehlar694396d2017-02-17 14:29:11 +0100282{
283 u32 client_index;
284 u32 context;
285 u8 is_enabled;
286};
287
Filip Tehlar694396d2017-02-17 14:29:11 +0100288/** \brief enable/disable ONE map-register
289 @param client_index - opaque cookie to identify the sender
290 @param context - sender context, to match reply w/ request
291 @param is_enable - enable if non-zero; disable otherwise
292*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400293autoreply define one_map_register_enable_disable
Filip Tehlar694396d2017-02-17 14:29:11 +0100294{
295 u32 client_index;
296 u32 context;
297 u8 is_enabled;
298};
299
Filip Tehlar694396d2017-02-17 14:29:11 +0100300/** \brief Get state of ONE map-register
301 @param client_index - opaque cookie to identify the sender
302 @param context - sender context, to match reply w/ request
303*/
304define show_one_map_register_state
305{
306 u32 client_index;
307 u32 context;
308};
309
310/** \brief Reply for show_one_map_register_state
311 @param context - returned sender context, to match reply w/ request
312 @param retval - return code
313*/
314define show_one_map_register_state_reply
315{
316 u32 context;
317 i32 retval;
318 u8 is_enabled;
319};
320
321/** \brief set ONE map-request mode. Based on configuration VPP will send
322 src/dest or just normal destination map requests.
323 @param client_index - opaque cookie to identify the sender
324 @param context - sender context, to match reply w/ request
325 @param mode - new map-request mode. Supported values are:
326 0 - destination only
Paul Vinciguerrabdc0e6b2018-09-22 05:32:50 -0700327 1 - source/destination
Filip Tehlar694396d2017-02-17 14:29:11 +0100328*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400329autoreply define one_map_request_mode
Filip Tehlar694396d2017-02-17 14:29:11 +0100330{
331 u32 client_index;
332 u32 context;
333 u8 mode;
334};
335
Filip Tehlar694396d2017-02-17 14:29:11 +0100336/** \brief Request for ONE map-request mode
337 @param client_index - opaque cookie to identify the sender
338 @param context - sender context, to match reply w/ request
339*/
340define show_one_map_request_mode
341{
342 u32 client_index;
343 u32 context;
344};
345
346/** \brief Reply for show_one_map_request_mode
347 @param context - returned sender context, to match reply w/ request
348 @param retval - return code
349 @param mode - map-request mode
350*/
351define show_one_map_request_mode_reply
352{
353 u32 context;
354 i32 retval;
355 u8 mode;
356};
357
Paul Vinciguerrae7174822019-08-07 00:05:59 -0400358typedef one_remote_locator
Filip Tehlar974cdc62017-02-22 18:09:49 +0100359{
360 u8 is_ip4;
361 u8 priority;
362 u8 weight;
363 u8 addr[16];
364};
365
Filip Tehlar694396d2017-02-17 14:29:11 +0100366/** \brief add or delete remote static mapping
367 @param client_index - opaque cookie to identify the sender
368 @param context - sender context, to match reply w/ request
369 @param is_add - add address if non-zero, else delete
370 @param is_src_dst - flag indicating src/dst based routing policy
371 @param del_all - if set, delete all remote mappings
372 @param vni - virtual network instance
373 @param action - negative map-reply action
374 @param eid_type -
375 0 : ipv4
376 1 : ipv6
377 2 : mac
Filip Tehlaref2a5bf2017-05-30 07:14:46 +0200378 3 : NSH : both information (service path ID and service index) are
379 encoded in 'eid' field in a following way:
380
381 |4 B |1 B |
382 -----------
383 |SPI | SI |
Filip Tehlar694396d2017-02-17 14:29:11 +0100384 @param deid - dst EID
385 @param seid - src EID, valid only if is_src_dst is enabled
386 @param rloc_num - number of remote locators
387 @param rlocs - remote locator records
388*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400389autoreply manual_print manual_endian define one_add_del_remote_mapping
Filip Tehlar694396d2017-02-17 14:29:11 +0100390{
391 u32 client_index;
392 u32 context;
393 u8 is_add;
394 u8 is_src_dst;
395 u8 del_all;
396 u32 vni;
397 u8 action;
398 u8 eid_type;
399 u8 eid[16];
400 u8 eid_len;
401 u8 seid[16];
402 u8 seid_len;
403 u32 rloc_num;
Filip Tehlar974cdc62017-02-22 18:09:49 +0100404 vl_api_one_remote_locator_t rlocs[rloc_num];
Filip Tehlar694396d2017-02-17 14:29:11 +0100405};
406
Filip Tehlard5a65db2017-05-17 17:21:10 +0200407/** \brief Add/delete L2 ARP entries
408 @param client_index - opaque cookie to identify the sender
409 @param context - sender context, to match reply w/ request
410 @param is_add - add if non-zero; delete otherwise
411 @param bd - bridge domain
412 @param mac - MAC address
413 @param ip4 - IPv4 address
414*/
415autoreply define one_add_del_l2_arp_entry
416{
417 u32 client_index;
418 u32 context;
419 u8 is_add;
420 u8 mac[6];
421 u32 bd;
422 u32 ip4;
423};
424
425/** \brief Request for L2 ARP entries from specified bridge domain
426 @param client_index - opaque cookie to identify the sender
427 @param context - sender context, to match reply w/ request
428 @param bd - bridge domain
429*/
430define one_l2_arp_entries_get
431{
432 u32 client_index;
433 u32 context;
434 u32 bd;
435};
436
Paul Vinciguerrae7174822019-08-07 00:05:59 -0400437typedef one_l2_arp_entry
Filip Tehlard5a65db2017-05-17 17:21:10 +0200438{
439 u8 mac[6];
440 u32 ip4;
441};
442
443/** \brief Reply with L2 ARP entries from specified bridge domain
444 @param context - sender context, to match reply w/ request
445 @param retval - error code
446 @param count - number of elements in the list
447 @param vl_api_one_arp_entry_t - list of entries
448*/
449manual_print manual_endian define one_l2_arp_entries_get_reply
450{
451 u32 context;
452 i32 retval;
453 u32 count;
454 vl_api_one_l2_arp_entry_t entries[count];
455};
456
Filip Tehlard6307132017-09-04 18:54:33 +0200457autoreply define one_add_del_ndp_entry
458{
459 u32 client_index;
460 u32 context;
461 u8 is_add;
462 u8 mac[6];
463 u32 bd;
464 u8 ip6[16];
465};
466
467define one_ndp_entries_get
468{
469 u32 client_index;
470 u32 context;
471 u32 bd;
472};
473
Paul Vinciguerrae7174822019-08-07 00:05:59 -0400474typedef one_ndp_entry
Filip Tehlard6307132017-09-04 18:54:33 +0200475{
476 u8 mac[6];
477 u8 ip6[16];
478};
479
480manual_print manual_endian define one_ndp_entries_get_reply
481{
482 u32 context;
483 i32 retval;
484 u32 count;
485 vl_api_one_ndp_entry_t entries[count];
486};
487
488/** \brief Set ONE transport protocol
489 @param client_index - opaque cookie to identify the sender
490 @param context - sender context, to match reply w/ request
Paul Vinciguerrabdc0e6b2018-09-22 05:32:50 -0700491 @param protocol - supported values:
Filip Tehlard6307132017-09-04 18:54:33 +0200492 1: UDP based LISP (default)
493 2: binary API
494*/
495autoreply define one_set_transport_protocol
496{
497 u32 client_index;
498 u32 context;
499 u8 protocol;
500};
501
502define one_get_transport_protocol
503{
504 u32 client_index;
505 u32 context;
506};
507
508define one_get_transport_protocol_reply
509{
510 u32 context;
511 i32 retval;
512 u8 protocol;
513};
514
515/** \brief Request for list of bridge domains used by neighbor discovery
516 @param client_index - opaque cookie to identify the sender
517 @param context - sender context, to match reply w/ request
518*/
519define one_ndp_bd_get
520{
521 u32 client_index;
522 u32 context;
523};
524
525/** \brief Reply with list of bridge domains used by neighbor discovery
526 @param context - sender context, to match reply w/ request
527 @param count - number of elements in the list
528 @param bridge_domains - list of BDs
529*/
530manual_print manual_endian define one_ndp_bd_get_reply
531{
532 u32 context;
533 i32 retval;
534 u32 count;
535 u32 bridge_domains[count];
536};
537
Filip Tehlard5a65db2017-05-17 17:21:10 +0200538/** \brief Request for list of bridge domains used by L2 ARP table
539 @param client_index - opaque cookie to identify the sender
540 @param context - sender context, to match reply w/ request
541*/
542define one_l2_arp_bd_get
543{
544 u32 client_index;
545 u32 context;
546};
547
548/** \brief Reply with list of bridge domains used by L2 ARP table
549 @param context - sender context, to match reply w/ request
550 @param count - number of elements in the list
551 @param bridge_domains - list of BDs
552*/
553manual_print manual_endian define one_l2_arp_bd_get_reply
554{
555 u32 context;
556 i32 retval;
557 u32 count;
558 u32 bridge_domains[count];
559};
560
Filip Tehlar694396d2017-02-17 14:29:11 +0100561/** \brief add or delete ONE adjacency adjacency
562 @param client_index - opaque cookie to identify the sender
563 @param context - sender context, to match reply w/ request
564 @param is_add - add address if non-zero, else delete
565 @param vni - virtual network instance
566 @param eid_type -
567 0 : ipv4
568 1 : ipv6
569 2 : mac
570 @param reid - remote EID
571 @param leid - local EID
572*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400573autoreply define one_add_del_adjacency
Filip Tehlar694396d2017-02-17 14:29:11 +0100574{
575 u32 client_index;
576 u32 context;
577 u8 is_add;
578 u32 vni;
579 u8 eid_type;
580 u8 reid[16];
581 u8 leid[16];
582 u8 reid_len;
583 u8 leid_len;
584};
585
Filip Tehlar694396d2017-02-17 14:29:11 +0100586/** \brief add or delete map request itr rlocs
587 @param client_index - opaque cookie to identify the sender
588 @param context - sender context, to match reply w/ request
589 @param is_add - add address if non-zero, else delete
590 @param locator_set_name - locator set name
591*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400592autoreply define one_add_del_map_request_itr_rlocs
Filip Tehlar694396d2017-02-17 14:29:11 +0100593{
594 u32 client_index;
595 u32 context;
596 u8 is_add;
597 u8 locator_set_name[64];
598};
599
Filip Tehlar694396d2017-02-17 14:29:11 +0100600/** \brief map/unmap vni/bd_index to vrf
601 @param client_index - opaque cookie to identify the sender
602 @param context - sender context, to match reply w/ request
603 @param is_add - add or delete mapping
604 @param dp_table - virtual network id/bridge domain index
605 @param vrf - vrf
606*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400607autoreply define one_eid_table_add_del_map
Filip Tehlar694396d2017-02-17 14:29:11 +0100608{
609 u32 client_index;
610 u32 context;
611 u8 is_add;
612 u32 vni;
613 u32 dp_table;
614 u8 is_l2;
615};
616
Filip Tehlar694396d2017-02-17 14:29:11 +0100617/** \brief Request for map one locator status
618 @param client_index - opaque cookie to identify the sender
619 @param context - sender context, to match reply w/ request
620 @param locator_set_index - index of locator_set
621 @param ls_name - locator set name
622 @param is_index_set - flag indicating whether ls_name or ls_index is set
623 */
624define one_locator_dump
625{
626 u32 client_index;
627 u32 context;
628 u32 ls_index;
629 u8 ls_name[64];
630 u8 is_index_set;
631};
632
633/** \brief ONE locator_set status
634 @param local - if is set, then locator is local
635 @param locator_set_name - name of the locator_set
636 @param sw_if_index - sw_if_index of the locator
637 @param priority - locator priority
638 @param weight - locator weight
639 */
640define one_locator_details
641{
642 u32 context;
643 u8 local;
644 u32 sw_if_index;
645 u8 is_ipv6;
646 u8 ip_address[16];
647 u8 priority;
648 u8 weight;
649};
650
651/** \brief ONE locator_set status
652 @param context - sender context, to match reply w/ request
653 @param ls_index - locator set index
654 @param ls_name - name of the locator set
655 */
656define one_locator_set_details
657{
658 u32 context;
659 u32 ls_index;
660 u8 ls_name[64];
661};
662
663/** \brief Request for locator_set summary status
664 @param client_index - opaque cookie to identify the sender
665 @param context - sender context, to match reply w/ request
666 @param filter - filter type
667 Supported values:
668 0: all locator sets
669 1: local locator sets
670 2: remote locator sets
671 */
672define one_locator_set_dump
673{
674 u32 client_index;
675 u32 context;
676 u8 filter;
677};
678
679/** \brief Dump ONE eid-table
680 @param client_index - opaque cookie to identify the sender
681 @param context - sender context, to match reply w/ request
682 @param locator_set_index - index of locator_set, if ~0 then the mapping
683 is negative
684 @param action - negative map request action
685 @param is_local - local if non-zero, else remote
686 @param eid_type:
687 0 : ipv4
688 1 : ipv6
689 2 : mac
690 @param is_src_dst - EID is type of source/destination
691 @param eid - EID can be ip4, ip6 or mac
692 @param eid_prefix_len - prefix length
693 @param seid - source EID can be ip4, ip6 or mac
694 @param seid_prefix_len - source prefix length
695 @param vni - virtual network instance
696 @param ttl - time to live
697 @param authoritative - authoritative
698 @param key_id
699 HMAC_NO_KEY 0
700 HMAC_SHA_1_96 1
701 HMAC_SHA_256_128 2
702 @param key - secret key
703*/
704
705define one_eid_table_details
706{
707 u32 context;
708 u32 locator_set_index;
709 u8 action;
710 u8 is_local;
711 u8 eid_type;
712 u8 is_src_dst;
713 u32 vni;
714 u8 eid[16];
715 u8 eid_prefix_len;
716 u8 seid[16];
717 u8 seid_prefix_len;
718 u32 ttl;
719 u8 authoritative;
720 u16 key_id;
721 u8 key[64];
722};
723
724/** \brief Request for eid table summary status
725 @param client_index - opaque cookie to identify the sender
726 @param context - sender context, to match reply w/ request
727 @param eid_set - if non-zero request info about specific mapping
728 @param vni - virtual network instance; valid only if eid_set != 0
729 @param prefix_length - prefix length if EID is IP address;
730 valid only if eid_set != 0
731 @param eid_type - EID type; valid only if eid_set != 0
732 Supported values:
733 0: EID is IPv4
734 1: EID is IPv6
735 2: EID is ethernet address
Filip Tehlaref2a5bf2017-05-30 07:14:46 +0200736 3 : NSH : both information (service path ID and service index) are
737 encoded in 'eid' field in a following way:
738
739 |4 B |1 B |
740 -----------
741 |SPI | SI |
Filip Tehlar694396d2017-02-17 14:29:11 +0100742 @param eid - endpoint identifier
743 @param filter - filter type;
744 Support values:
745 0: all eid
746 1: local eid
747 2: remote eid
748 */
749define one_eid_table_dump
750{
751 u32 client_index;
752 u32 context;
753 u8 eid_set;
754 u8 prefix_length;
755 u32 vni;
756 u8 eid_type;
757 u8 eid[16];
758 u8 filter;
759};
760
761/** \brief ONE adjacency
762 @param eid_type -
763 0 : ipv4
764 1 : ipv6
765 2 : mac
766 @param reid - remote EID
767 @param leid - local EID
768 @param reid_prefix_len - remote EID IP prefix length
769 @param leid_prefix_len - local EID IP prefix length
770 */
Paul Vinciguerrae7174822019-08-07 00:05:59 -0400771typedef one_adjacency
Filip Tehlar694396d2017-02-17 14:29:11 +0100772{
773 u8 eid_type;
774 u8 reid[16];
775 u8 leid[16];
776 u8 reid_prefix_len;
777 u8 leid_prefix_len;
778};
779
780/** \brief ONE adjacency reply
781 @param count - number of adjacencies
782 @param adjacencies - array of adjacencies
783 */
784manual_endian manual_print define one_adjacencies_get_reply
785{
786 u32 context;
787 i32 retval;
788 u32 count;
789 vl_api_one_adjacency_t adjacencies[count];
790};
791
792/** \brief Request for ONE adjacencies
793 @param client_index - opaque cookie to identify the sender
794 @param context - sender context, to match reply w/ request
795 @param vni - filter adjacencies by VNI
796 */
797define one_adjacencies_get
798{
799 u32 client_index;
800 u32 context;
801 u32 vni;
802};
803
804/** \brief Shows relationship between vni and vrf/bd
805 @param dp_table - VRF index or bridge domain index
Paul Vinciguerrabdc0e6b2018-09-22 05:32:50 -0700806 @param vni - virtual network instance
Filip Tehlar694396d2017-02-17 14:29:11 +0100807 */
808define one_eid_table_map_details
809{
810 u32 context;
811 u32 vni;
812 u32 dp_table;
813};
814
815/** \brief Request for one_eid_table_map_details
816 @param client_index - opaque cookie to identify the sender
817 @param context - sender context, to match reply w/ request
818 @param is_l2 - if set dump vni/bd mappings else vni/vrf
819 */
820define one_eid_table_map_dump
821{
822 u32 client_index;
823 u32 context;
824 u8 is_l2;
825};
826
827/** \brief Dumps all VNIs used in mappings
828 @param client_index - opaque cookie to identify the sender
829 @param context - sender context, to match reply w/ request
830 */
831define one_eid_table_vni_dump
832{
833 u32 client_index;
834 u32 context;
835};
836
837/** \brief reply to one_eid_table_vni_dump
Filip Tehlar694396d2017-02-17 14:29:11 +0100838 @param context - sender context, to match reply w/ request
839 @param vni - virtual network instance
840 */
841define one_eid_table_vni_details
842{
Filip Tehlar694396d2017-02-17 14:29:11 +0100843 u32 context;
844 u32 vni;
845};
846
847/** \brief ONE map resolver status
848 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
849 @param ip_address - array of address bytes
850 */
851define one_map_resolver_details
852{
853 u32 context;
854 u8 is_ipv6;
855 u8 ip_address[16];
856};
857
858/** \brief Request for map resolver summary status
859 @param client_index - opaque cookie to identify the sender
860 @param context - sender context, to match reply w/ request
861 */
862define one_map_resolver_dump
863{
864 u32 client_index;
865 u32 context;
866};
867
868/** \brief ONE map server details
869 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
870 @param ip_address - array of address bytes
871 */
872define one_map_server_details
873{
874 u32 context;
875 u8 is_ipv6;
876 u8 ip_address[16];
877};
878
879/** \brief Request for map server summary status
880 @param client_index - opaque cookie to identify the sender
881 @param context - sender context, to match reply w/ request
882 */
883define one_map_server_dump
884{
885 u32 client_index;
886 u32 context;
887};
888
889/** \brief Request for ONE status
890 @param client_index - opaque cookie to identify the sender
891 @param context - sender context, to match reply w/ request
892*/
893define show_one_status
894{
895 u32 client_index;
896 u32 context;
897};
898
899/** \brief ONE status
900 @param context - sender context, to match reply w/ request
901 @param feature_status - enabled if non-zero, else disabled
902 @param gpe_status - enabled if non-zero, else disabled
903*/
904define show_one_status_reply
905{
906 u32 context;
907 i32 retval;
908 u8 feature_status;
909 u8 gpe_status;
910};
911
912/** \brief Get ONE map request itr rlocs status
913 @param context - sender context, to match reply w/ request
914 @param locator_set_name - name of the locator_set
915 */
916define one_get_map_request_itr_rlocs
917{
918 u32 client_index;
919 u32 context;
920};
921
922/** \brief Request for map request itr rlocs summary status
923 */
924define one_get_map_request_itr_rlocs_reply
925{
926 u32 context;
927 i32 retval;
928 u8 locator_set_name[64];
929};
930
Filip Tehlaref2a5bf2017-05-30 07:14:46 +0200931/** \brief Request for ONE NSH mapping
932 @param client_index - opaque cookie to identify the sender
933 @param context - sender context, to match reply w/ request
934*/
935define show_one_nsh_mapping
936{
937 u32 client_index;
938 u32 context;
939};
940
941/** \brief Reply for ONE NSH mapping
942 @param context - sender context, to match reply w/ request
943 @param is_set - is ONE NSH mapping set
944 @param locator_set_name - name of the locator_set if NSH mapping is set
945*/
946define show_one_nsh_mapping_reply
947{
948 u32 context;
949 i32 retval;
950 u8 is_set;
951 u8 locator_set_name[64];
952};
953
Filip Tehlar694396d2017-02-17 14:29:11 +0100954/** \brief Request for ONE PITR status
955 @param client_index - opaque cookie to identify the sender
956 @param context - sender context, to match reply w/ request
957*/
958define show_one_pitr
959{
960 u32 client_index;
961 u32 context;
962};
963
964/** \brief Status of ONE PITR, enable or disable
965 @param context - sender context, to match reply w/ request
966 @param status - ONE PITR enable if non-zero, else disable
967 @param locator_set_name - name of the locator_set
968*/
969define show_one_pitr_reply
970{
971 u32 context;
972 i32 retval;
973 u8 status;
974 u8 locator_set_name[64];
975};
Filip Tehlar7eaf0e52017-03-08 08:46:51 +0100976
977define one_stats_dump
978{
979 u32 client_index;
980 u32 context;
981};
982
983define one_stats_details
984{
985 u32 context;
986 u32 vni;
987 u8 eid_type;
988 u8 deid[16];
989 u8 seid[16];
990 u8 deid_pref_len;
991 u8 seid_pref_len;
992 u8 is_ip4;
993 u8 rloc[16];
994 u8 lloc[16];
995
996 u32 pkt_count;
997 u32 bytes;
998};
999
Dave Barach11b8dbf2017-04-24 10:46:54 -04001000autoreply define one_stats_flush
Filip Tehlar21511912017-04-07 10:41:42 +02001001{
1002 u32 client_index;
1003 u32 context;
1004};
1005
Dave Barach11b8dbf2017-04-24 10:46:54 -04001006autoreply define one_stats_enable_disable
Filip Tehlar7eaf0e52017-03-08 08:46:51 +01001007{
1008 u32 client_index;
1009 u32 context;
1010 u8 is_en;
1011};
1012
Filip Tehlar7eaf0e52017-03-08 08:46:51 +01001013define show_one_stats_enable_disable
1014{
1015 u32 client_index;
1016 u32 context;
1017};
1018
1019define show_one_stats_enable_disable_reply
1020{
1021 u32 context;
1022 i32 retval;
1023 u8 is_en;
1024};
1025
Filip Tehlar7048ff12017-07-27 08:09:14 +02001026autoreply define one_map_register_fallback_threshold
1027{
1028 u32 client_index;
1029 u32 context;
1030 u32 value;
1031};
1032
1033define show_one_map_register_fallback_threshold
1034{
1035 u32 client_index;
1036 u32 context;
1037};
1038
1039define show_one_map_register_fallback_threshold_reply
1040{
1041 u32 context;
1042 i32 retval;
1043 u32 value;
1044};
1045
Filip Tehlar111a5ce2017-09-06 10:07:39 +02001046autoreply define one_enable_disable_xtr_mode
1047{
1048 u32 client_index;
1049 u32 context;
1050 u8 is_en;
1051};
1052
1053define one_show_xtr_mode
1054{
1055 u32 client_index;
1056 u32 context;
1057};
1058
1059define one_show_xtr_mode_reply
1060{
1061 u32 context;
1062 i32 retval;
1063 u8 is_en;
1064};
1065
1066autoreply define one_enable_disable_petr_mode
1067{
1068 u32 client_index;
1069 u32 context;
1070 u8 is_en;
1071};
1072
1073define one_show_petr_mode
1074{
1075 u32 client_index;
1076 u32 context;
1077};
1078
1079define one_show_petr_mode_reply
1080{
1081 u32 context;
1082 i32 retval;
1083 u8 is_en;
1084};
1085
1086autoreply define one_enable_disable_pitr_mode
1087{
1088 u32 client_index;
1089 u32 context;
1090 u8 is_en;
1091};
1092
1093define one_show_pitr_mode
1094{
1095 u32 client_index;
1096 u32 context;
1097};
1098
1099define one_show_pitr_mode_reply
1100{
1101 u32 context;
1102 i32 retval;
1103 u8 is_en;
1104};
1105
Filip Tehlar7eaf0e52017-03-08 08:46:51 +01001106/*
1107 * Local Variables:
1108 * eval: (c-set-style "gnu")
1109 * End:
1110 */