blob: 32ac70220c511068fc157b2c71a0f5f88222bc52 [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
Filip Tehlar974cdc62017-02-22 18:09:49 +010018typeonly manual_print manual_endian define one_local_locator
19{
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
327 1 - source/destaination
328*/
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
Filip Tehlar974cdc62017-02-22 18:09:49 +0100358typeonly manual_endian manual_print define one_remote_locator
359{
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
437typeonly manual_print manual_endian define one_l2_arp_entry
438{
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
474typeonly manual_print manual_endian define one_ndp_entry
475{
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
491 @param protocol - supported vaules:
492 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 */
771typeonly manual_print manual_endian define one_adjacency
772{
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
806 @param vni - vitual network instance
807 */
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
838 @param client_index - opaque cookie to identify the sender
839 @param context - sender context, to match reply w/ request
840 @param vni - virtual network instance
841 */
842define one_eid_table_vni_details
843{
844 u32 client_index;
845 u32 context;
846 u32 vni;
847};
848
849/** \brief ONE map resolver status
850 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
851 @param ip_address - array of address bytes
852 */
853define one_map_resolver_details
854{
855 u32 context;
856 u8 is_ipv6;
857 u8 ip_address[16];
858};
859
860/** \brief Request for map resolver summary status
861 @param client_index - opaque cookie to identify the sender
862 @param context - sender context, to match reply w/ request
863 */
864define one_map_resolver_dump
865{
866 u32 client_index;
867 u32 context;
868};
869
870/** \brief ONE map server details
871 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
872 @param ip_address - array of address bytes
873 */
874define one_map_server_details
875{
876 u32 context;
877 u8 is_ipv6;
878 u8 ip_address[16];
879};
880
881/** \brief Request for map server summary status
882 @param client_index - opaque cookie to identify the sender
883 @param context - sender context, to match reply w/ request
884 */
885define one_map_server_dump
886{
887 u32 client_index;
888 u32 context;
889};
890
891/** \brief Request for ONE 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_status
896{
897 u32 client_index;
898 u32 context;
899};
900
901/** \brief ONE status
902 @param context - sender context, to match reply w/ request
903 @param feature_status - enabled if non-zero, else disabled
904 @param gpe_status - enabled if non-zero, else disabled
905*/
906define show_one_status_reply
907{
908 u32 context;
909 i32 retval;
910 u8 feature_status;
911 u8 gpe_status;
912};
913
914/** \brief Get ONE map request itr rlocs status
915 @param context - sender context, to match reply w/ request
916 @param locator_set_name - name of the locator_set
917 */
918define one_get_map_request_itr_rlocs
919{
920 u32 client_index;
921 u32 context;
922};
923
924/** \brief Request for map request itr rlocs summary status
925 */
926define one_get_map_request_itr_rlocs_reply
927{
928 u32 context;
929 i32 retval;
930 u8 locator_set_name[64];
931};
932
Filip Tehlaref2a5bf2017-05-30 07:14:46 +0200933/** \brief Request for ONE NSH mapping
934 @param client_index - opaque cookie to identify the sender
935 @param context - sender context, to match reply w/ request
936*/
937define show_one_nsh_mapping
938{
939 u32 client_index;
940 u32 context;
941};
942
943/** \brief Reply for ONE NSH mapping
944 @param context - sender context, to match reply w/ request
945 @param is_set - is ONE NSH mapping set
946 @param locator_set_name - name of the locator_set if NSH mapping is set
947*/
948define show_one_nsh_mapping_reply
949{
950 u32 context;
951 i32 retval;
952 u8 is_set;
953 u8 locator_set_name[64];
954};
955
Filip Tehlar694396d2017-02-17 14:29:11 +0100956/** \brief Request for ONE PITR status
957 @param client_index - opaque cookie to identify the sender
958 @param context - sender context, to match reply w/ request
959*/
960define show_one_pitr
961{
962 u32 client_index;
963 u32 context;
964};
965
966/** \brief Status of ONE PITR, enable or disable
967 @param context - sender context, to match reply w/ request
968 @param status - ONE PITR enable if non-zero, else disable
969 @param locator_set_name - name of the locator_set
970*/
971define show_one_pitr_reply
972{
973 u32 context;
974 i32 retval;
975 u8 status;
976 u8 locator_set_name[64];
977};
Filip Tehlar7eaf0e52017-03-08 08:46:51 +0100978
979define one_stats_dump
980{
981 u32 client_index;
982 u32 context;
983};
984
985define one_stats_details
986{
987 u32 context;
988 u32 vni;
989 u8 eid_type;
990 u8 deid[16];
991 u8 seid[16];
992 u8 deid_pref_len;
993 u8 seid_pref_len;
994 u8 is_ip4;
995 u8 rloc[16];
996 u8 lloc[16];
997
998 u32 pkt_count;
999 u32 bytes;
1000};
1001
Dave Barach11b8dbf2017-04-24 10:46:54 -04001002autoreply define one_stats_flush
Filip Tehlar21511912017-04-07 10:41:42 +02001003{
1004 u32 client_index;
1005 u32 context;
1006};
1007
Dave Barach11b8dbf2017-04-24 10:46:54 -04001008autoreply define one_stats_enable_disable
Filip Tehlar7eaf0e52017-03-08 08:46:51 +01001009{
1010 u32 client_index;
1011 u32 context;
1012 u8 is_en;
1013};
1014
Filip Tehlar7eaf0e52017-03-08 08:46:51 +01001015define show_one_stats_enable_disable
1016{
1017 u32 client_index;
1018 u32 context;
1019};
1020
1021define show_one_stats_enable_disable_reply
1022{
1023 u32 context;
1024 i32 retval;
1025 u8 is_en;
1026};
1027
Filip Tehlar7048ff12017-07-27 08:09:14 +02001028autoreply define one_map_register_fallback_threshold
1029{
1030 u32 client_index;
1031 u32 context;
1032 u32 value;
1033};
1034
1035define show_one_map_register_fallback_threshold
1036{
1037 u32 client_index;
1038 u32 context;
1039};
1040
1041define show_one_map_register_fallback_threshold_reply
1042{
1043 u32 context;
1044 i32 retval;
1045 u32 value;
1046};
1047
Filip Tehlar111a5ce2017-09-06 10:07:39 +02001048autoreply define one_enable_disable_xtr_mode
1049{
1050 u32 client_index;
1051 u32 context;
1052 u8 is_en;
1053};
1054
1055define one_show_xtr_mode
1056{
1057 u32 client_index;
1058 u32 context;
1059};
1060
1061define one_show_xtr_mode_reply
1062{
1063 u32 context;
1064 i32 retval;
1065 u8 is_en;
1066};
1067
1068autoreply define one_enable_disable_petr_mode
1069{
1070 u32 client_index;
1071 u32 context;
1072 u8 is_en;
1073};
1074
1075define one_show_petr_mode
1076{
1077 u32 client_index;
1078 u32 context;
1079};
1080
1081define one_show_petr_mode_reply
1082{
1083 u32 context;
1084 i32 retval;
1085 u8 is_en;
1086};
1087
1088autoreply define one_enable_disable_pitr_mode
1089{
1090 u32 client_index;
1091 u32 context;
1092 u8 is_en;
1093};
1094
1095define one_show_pitr_mode
1096{
1097 u32 client_index;
1098 u32 context;
1099};
1100
1101define one_show_pitr_mode_reply
1102{
1103 u32 context;
1104 i32 retval;
1105 u8 is_en;
1106};
1107
Filip Tehlar7eaf0e52017-03-08 08:46:51 +01001108/*
1109 * Local Variables:
1110 * eval: (c-set-style "gnu")
1111 * End:
1112 */