Trivial: Clean up some typos.
[vpp.git] / src / vnet / lisp-cp / one.api
1 /*
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
16 option version = "1.0.0";
17
18 typeonly manual_print manual_endian define one_local_locator
19 {
20   u32 sw_if_index;
21   u8 priority;
22   u8 weight;
23 };
24
25 /** \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 */
33 manual_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;
40   vl_api_one_local_locator_t locators[locator_num];
41 };
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 */
48 define 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 */
64 autoreply define one_add_del_locator
65 {
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
75 /** \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 */
93 autoreply define one_add_del_local_eid
94 {
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
107 /** \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 */
112 autoreply 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 */
123 define 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 */
134 define show_one_map_register_ttl_reply
135 {
136   u32 context;
137   i32 retval;
138   u32 ttl;
139 };
140
141 /** \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 */
148 autoreply define one_add_del_map_server
149 {
150   u32 client_index;
151   u32 context;
152   u8 is_add;
153   u8 is_ipv6;
154   u8 ip_address[16];
155 };
156
157 /** \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 */
164 autoreply define one_add_del_map_resolver
165 {
166   u32 client_index;
167   u32 context;
168   u8 is_add;
169   u8 is_ipv6;
170   u8 ip_address[16];
171 };
172
173 /** \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 */
178 autoreply define one_enable_disable
179 {
180   u32 client_index;
181   u32 context;
182   u8 is_en;
183 };
184
185 /** \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 */
191 autoreply 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
199 /** \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 */
205 autoreply define one_pitr_set_locator_set
206 {
207   u32 client_index;
208   u32 context;
209   u8 is_add;
210   u8 ls_name[64];
211 };
212
213 /** \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
218     @param is_add - add locator set if non-zero, else disable PETR
219 */
220 autoreply define one_use_petr
221 {
222   u32 client_index;
223   u32 context;
224   u8 is_ip4;
225   u8 address[16];
226   u8 is_add;
227 };
228
229 /** \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 */
233 define 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 */
245 define 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 */
258 define 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 */
269 define 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 */
281 autoreply define one_rloc_probe_enable_disable
282 {
283   u32 client_index;
284   u32 context;
285   u8 is_enabled;
286 };
287
288 /** \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 */
293 autoreply define one_map_register_enable_disable
294 {
295   u32 client_index;
296   u32 context;
297   u8 is_enabled;
298 };
299
300 /** \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 */
304 define 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 */
314 define 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/destination
328 */
329 autoreply define one_map_request_mode
330 {
331   u32 client_index;
332   u32 context;
333   u8 mode;
334 };
335
336 /** \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 */
340 define 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 */
351 define show_one_map_request_mode_reply
352 {
353   u32 context;
354   i32 retval;
355   u8 mode;
356 };
357
358 typeonly 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
366 /** \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
378       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 |
384     @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 */
389 autoreply manual_print manual_endian define one_add_del_remote_mapping
390 {
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;
404   vl_api_one_remote_locator_t rlocs[rloc_num];
405 };
406
407 /** \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 */
415 autoreply 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 */
430 define one_l2_arp_entries_get
431 {
432   u32 client_index;
433   u32 context;
434   u32 bd;
435 };
436
437 typeonly 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 */
449 manual_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
457 autoreply 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
467 define one_ndp_entries_get
468 {
469   u32 client_index;
470   u32 context;
471   u32 bd;
472 };
473
474 typeonly manual_print manual_endian define one_ndp_entry
475 {
476   u8 mac[6];
477   u8 ip6[16];
478 };
479
480 manual_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 values:
492       1: UDP based LISP (default)
493       2: binary API
494 */
495 autoreply define one_set_transport_protocol
496 {
497   u32 client_index;
498   u32 context;
499   u8 protocol;
500 };
501
502 define one_get_transport_protocol
503 {
504   u32 client_index;
505   u32 context;
506 };
507
508 define 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 */
519 define 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 */
530 manual_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
538 /** \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 */
542 define 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 */
553 manual_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
561 /** \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 */
573 autoreply define one_add_del_adjacency
574 {
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
586 /** \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 */
592 autoreply define one_add_del_map_request_itr_rlocs
593 {
594   u32 client_index;
595   u32 context;
596   u8 is_add;
597   u8 locator_set_name[64];
598 };
599
600 /** \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 */
607 autoreply define one_eid_table_add_del_map
608 {
609   u32 client_index;
610   u32 context;
611   u8 is_add;
612   u32 vni;
613   u32 dp_table;
614   u8 is_l2;
615 };
616
617 /** \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  */
624 define 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   */
640 define 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  */
656 define 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  */
672 define 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
705 define 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
736         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 |
742     @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  */
749 define 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   */
771 typeonly 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   */
784 manual_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  */
797 define 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 - virtual network instance
807   */
808 define 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  */
820 define 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   */
831 define 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 context - sender context, to match reply w/ request
839     @param vni - virtual network instance
840  */
841 define one_eid_table_vni_details
842 {
843   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  */
851 define 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  */
862 define 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  */
872 define 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  */
883 define 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 */
893 define 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 */
904 define 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  */
916 define 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  */
924 define one_get_map_request_itr_rlocs_reply
925 {
926   u32 context;
927   i32 retval;
928   u8 locator_set_name[64];
929 };
930
931 /** \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 */
935 define 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 */
946 define show_one_nsh_mapping_reply
947 {
948   u32 context;
949   i32 retval;
950   u8 is_set;
951   u8 locator_set_name[64];
952 };
953
954 /** \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 */
958 define 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 */
969 define show_one_pitr_reply
970 {
971   u32 context;
972   i32 retval;
973   u8 status;
974   u8 locator_set_name[64];
975 };
976
977 define one_stats_dump
978 {
979   u32 client_index;
980   u32 context;
981 };
982
983 define 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
1000 autoreply define one_stats_flush
1001 {
1002   u32 client_index;
1003   u32 context;
1004 };
1005
1006 autoreply define one_stats_enable_disable
1007 {
1008   u32 client_index;
1009   u32 context;
1010   u8 is_en;
1011 };
1012
1013 define show_one_stats_enable_disable
1014 {
1015   u32 client_index;
1016   u32 context;
1017 };
1018
1019 define show_one_stats_enable_disable_reply
1020 {
1021   u32 context;
1022   i32 retval;
1023   u8 is_en;
1024 };
1025
1026 autoreply define one_map_register_fallback_threshold
1027 {
1028   u32 client_index;
1029   u32 context;
1030   u32 value;
1031 };
1032
1033 define show_one_map_register_fallback_threshold
1034 {
1035   u32 client_index;
1036   u32 context;
1037 };
1038
1039 define show_one_map_register_fallback_threshold_reply
1040 {
1041   u32 context;
1042   i32 retval;
1043   u32 value;
1044 };
1045
1046 autoreply define one_enable_disable_xtr_mode
1047 {
1048   u32 client_index;
1049   u32 context;
1050   u8 is_en;
1051 };
1052
1053 define one_show_xtr_mode
1054 {
1055   u32 client_index;
1056   u32 context;
1057 };
1058
1059 define one_show_xtr_mode_reply
1060 {
1061   u32 context;
1062   i32 retval;
1063   u8 is_en;
1064 };
1065
1066 autoreply define one_enable_disable_petr_mode
1067 {
1068   u32 client_index;
1069   u32 context;
1070   u8 is_en;
1071 };
1072
1073 define one_show_petr_mode
1074 {
1075   u32 client_index;
1076   u32 context;
1077 };
1078
1079 define one_show_petr_mode_reply
1080 {
1081   u32 context;
1082   i32 retval;
1083   u8 is_en;
1084 };
1085
1086 autoreply define one_enable_disable_pitr_mode
1087 {
1088   u32 client_index;
1089   u32 context;
1090   u8 is_en;
1091 };
1092
1093 define one_show_pitr_mode
1094 {
1095   u32 client_index;
1096   u32 context;
1097 };
1098
1099 define one_show_pitr_mode_reply
1100 {
1101   u32 context;
1102   i32 retval;
1103   u8 is_en;
1104 };
1105
1106 /*
1107  * Local Variables:
1108  * eval: (c-set-style "gnu")
1109  * End:
1110  */