39f2802da2917245dd4b7f3fac6d6e1918e810e7
[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 typeonly manual_print manual_endian define one_local_locator
17 {
18   u32 sw_if_index;
19   u8 priority;
20   u8 weight;
21 };
22
23 /** \brief add or delete locator_set
24     @param client_index - opaque cookie to identify the sender
25     @param context - sender context, to match reply w/ request
26     @param is_add - add address if non-zero, else delete
27     @param locator_set_name - locator name
28     @param locator_num - number of locators
29     @param locators - locator records
30 */
31 manual_endian manual_print define one_add_del_locator_set
32 {
33   u32 client_index;
34   u32 context;
35   u8 is_add;
36   u8 locator_set_name[64];
37   u32 locator_num;
38   vl_api_one_local_locator_t locators[locator_num];
39 };
40
41 /** \brief Reply for locator_set add/del
42     @param context - returned sender context, to match reply w/ request
43     @param retval - return code
44     @param ls_index - locator set index
45 */
46 define one_add_del_locator_set_reply
47 {
48   u32 context;
49   i32 retval;
50   u32 ls_index;
51 };
52
53 /** \brief add or delete locator for locator set
54     @param client_index - opaque cookie to identify the sender
55     @param context - sender context, to match reply w/ request
56     @param is_add - add address if non-zero, else delete
57     @param locator_set_name - name of locator_set to add/del locator
58     @param sw_if_index - index of the interface
59     @param priority - priority of the locator
60     @param weight - weight of the locator
61 */
62 autoreply define one_add_del_locator
63 {
64   u32 client_index;
65   u32 context;
66   u8 is_add;
67   u8 locator_set_name[64];
68   u32 sw_if_index;
69   u8 priority;
70   u8 weight;
71 };
72
73 /** \brief add or delete ONE eid-table
74     @param client_index - opaque cookie to identify the sender
75     @param context - sender context, to match reply w/ request
76     @param is_add - add address if non-zero, else delete
77     @param eid_type:
78       0 : ipv4
79       1 : ipv6
80       2 : mac
81     @param eid - EID can be ip4, ip6 or mac
82     @param prefix_len - prefix len
83     @param locator_set_name - name of locator_set to add/del eid-table
84     @param vni - virtual network instance
85     @param key_id
86       HMAC_NO_KEY           0
87       HMAC_SHA_1_96         1
88       HMAC_SHA_256_128      2
89     @param key - secret key
90 */
91 autoreply define one_add_del_local_eid
92 {
93   u32 client_index;
94   u32 context;
95   u8 is_add;
96   u8 eid_type;
97   u8 eid[16];
98   u8 prefix_len;
99   u8 locator_set_name[64];
100   u32 vni;
101   u16 key_id;
102   u8 key[64];
103 };
104
105 /** \brief Set TTL for map register messages
106     @param client_index - opaque cookie to identify the sender
107     @param context - sender context, to match reply w/ request
108     @param ttl - time to live
109 */
110 autoreply define one_map_register_set_ttl
111 {
112   u32 client_index;
113   u32 context;
114   u32 ttl;
115 };
116
117 /** \brief Get TTL for map register messages
118     @param client_index - opaque cookie to identify the sender
119     @param context - sender context, to match reply w/ request
120 */
121 define show_one_map_register_ttl
122 {
123   u32 client_index;
124   u32 context;
125 };
126
127 /** \brief Contains current TTL for map register messages
128     @param client_index - opaque cookie to identify the sender
129     @param retval - return code
130     @param ttl - time to live
131 */
132 define show_one_map_register_ttl_reply
133 {
134   u32 context;
135   i32 retval;
136   u32 ttl;
137 };
138
139 /** \brief Add/delete map server
140     @param client_index - opaque cookie to identify the sender
141     @param context - sender context, to match reply w/ request
142     @param is_add - add address if non-zero; delete otherwise
143     @param is_ipv6 - if non-zero the address is ipv6, else ipv4
144     @param ip_address - map server IP address
145 */
146 autoreply define one_add_del_map_server
147 {
148   u32 client_index;
149   u32 context;
150   u8 is_add;
151   u8 is_ipv6;
152   u8 ip_address[16];
153 };
154
155 /** \brief add or delete map-resolver
156     @param client_index - opaque cookie to identify the sender
157     @param context - sender context, to match reply w/ request
158     @param is_add - add address if non-zero, else delete
159     @param is_ipv6 - if non-zero the address is ipv6, else ipv4
160     @param ip_address - array of address bytes
161 */
162 autoreply define one_add_del_map_resolver
163 {
164   u32 client_index;
165   u32 context;
166   u8 is_add;
167   u8 is_ipv6;
168   u8 ip_address[16];
169 };
170
171 /** \brief enable or disable ONE feature
172     @param client_index - opaque cookie to identify the sender
173     @param context - sender context, to match reply w/ request
174     @param is_en - enable protocol if non-zero, else disable
175 */
176 autoreply define one_enable_disable
177 {
178   u32 client_index;
179   u32 context;
180   u8 is_en;
181 };
182
183 /** \brief configure or delete ONE NSH mapping
184     @param client_index - opaque cookie to identify the sender
185     @param context - sender context, to match reply w/ request
186     @param ls_name - locator set name
187     @param is_add - add locator set if non-zero; delete otherwise
188 */
189 autoreply define one_nsh_set_locator_set
190 {
191   u32 client_index;
192   u32 context;
193   u8 is_add;
194   u8 ls_name[64];
195 };
196
197 /** \brief configure or disable ONE PITR node
198     @param client_index - opaque cookie to identify the sender
199     @param context - sender context, to match reply w/ request
200     @param ls_name - locator set name
201     @param is_add - add locator set if non-zero, else disable pitr
202 */
203 autoreply define one_pitr_set_locator_set
204 {
205   u32 client_index;
206   u32 context;
207   u8 is_add;
208   u8 ls_name[64];
209 };
210
211 /** \brief configure or disable use of PETR
212     @param client_index - opaque cookie to identify the sender
213     @param context - sender context, to match reply w/ request
214     @param is_ip4 - Address is IPv4 if set and IPv6 otherwise
215     @param address - PETR IP address
216     @param is_add - add locator set if non-zero, else disable PETR
217 */
218 autoreply define one_use_petr
219 {
220   u32 client_index;
221   u32 context;
222   u8 is_ip4;
223   u8 address[16];
224   u8 is_add;
225 };
226
227 /** \brief Request for ONE PETR status
228     @param client_index - opaque cookie to identify the sender
229     @param context - sender context, to match reply w/ request
230 */
231 define show_one_use_petr
232 {
233   u32 client_index;
234   u32 context;
235 };
236
237 /** \brief ONE PETR status, enable or disable
238     @param context - sender context, to match reply w/ request
239     @param status - ONE PETR enable if non-zero, else disable
240     @param is_ip4 - Address is IPv4 if non-zero, else IPv6
241     @param address - PETR IP address
242 */
243 define show_one_use_petr_reply
244 {
245   u32 context;
246   i32 retval;
247   u8 status;
248   u8 is_ip4;
249   u8 address[16];
250 };
251
252 /** \brief Get state of ONE RLOC probing
253     @param client_index - opaque cookie to identify the sender
254     @param context - sender context, to match reply w/ request
255 */
256 define show_one_rloc_probe_state
257 {
258   u32 client_index;
259   u32 context;
260 };
261
262 /** \brief Reply for show_one_rloc_probe_state
263     @param context - returned sender context, to match reply w/ request
264     @param retval - return code
265     @param is_enabled - state of RLOC probing
266 */
267 define show_one_rloc_probe_state_reply
268 {
269   u32 context;
270   i32 retval;
271   u8 is_enabled;
272 };
273
274 /** \brief enable/disable ONE RLOC probing
275     @param client_index - opaque cookie to identify the sender
276     @param context - sender context, to match reply w/ request
277     @param is_enable - enable if non-zero; disable otherwise
278 */
279 autoreply define one_rloc_probe_enable_disable
280 {
281   u32 client_index;
282   u32 context;
283   u8 is_enabled;
284 };
285
286 /** \brief enable/disable ONE map-register
287     @param client_index - opaque cookie to identify the sender
288     @param context - sender context, to match reply w/ request
289     @param is_enable - enable if non-zero; disable otherwise
290 */
291 autoreply define one_map_register_enable_disable
292 {
293   u32 client_index;
294   u32 context;
295   u8 is_enabled;
296 };
297
298 /** \brief Get state of ONE map-register
299     @param client_index - opaque cookie to identify the sender
300     @param context - sender context, to match reply w/ request
301 */
302 define show_one_map_register_state
303 {
304   u32 client_index;
305   u32 context;
306 };
307
308 /** \brief Reply for show_one_map_register_state
309     @param context - returned sender context, to match reply w/ request
310     @param retval - return code
311 */
312 define show_one_map_register_state_reply
313 {
314   u32 context;
315   i32 retval;
316   u8 is_enabled;
317 };
318
319 /** \brief set ONE map-request mode. Based on configuration VPP will send
320       src/dest or just normal destination map requests.
321     @param client_index - opaque cookie to identify the sender
322     @param context - sender context, to match reply w/ request
323     @param mode - new map-request mode. Supported values are:
324       0 - destination only
325       1 - source/destaination
326 */
327 autoreply define one_map_request_mode
328 {
329   u32 client_index;
330   u32 context;
331   u8 mode;
332 };
333
334 /** \brief Request for ONE map-request mode
335     @param client_index - opaque cookie to identify the sender
336     @param context - sender context, to match reply w/ request
337 */
338 define show_one_map_request_mode
339 {
340   u32 client_index;
341   u32 context;
342 };
343
344 /** \brief Reply for show_one_map_request_mode
345     @param context - returned sender context, to match reply w/ request
346     @param retval - return code
347     @param mode - map-request mode
348 */
349 define show_one_map_request_mode_reply
350 {
351   u32 context;
352   i32 retval;
353   u8 mode;
354 };
355
356 typeonly manual_endian manual_print define one_remote_locator
357 {
358   u8 is_ip4;
359   u8 priority;
360   u8 weight;
361   u8 addr[16];
362 };
363
364 /** \brief add or delete remote static mapping
365     @param client_index - opaque cookie to identify the sender
366     @param context - sender context, to match reply w/ request
367     @param is_add - add address if non-zero, else delete
368     @param is_src_dst - flag indicating src/dst based routing policy
369     @param del_all - if set, delete all remote mappings
370     @param vni - virtual network instance
371     @param action - negative map-reply action
372     @param eid_type -
373       0 : ipv4
374       1 : ipv6
375       2 : mac
376       3 : NSH : both information (service path ID and service index) are
377         encoded in 'eid' field in a following way:
378
379         |4 B |1 B |
380         -----------
381         |SPI | SI |
382     @param deid - dst EID
383     @param seid - src EID, valid only if is_src_dst is enabled
384     @param rloc_num - number of remote locators
385     @param rlocs - remote locator records
386 */
387 autoreply manual_print manual_endian define one_add_del_remote_mapping
388 {
389   u32 client_index;
390   u32 context;
391   u8 is_add;
392   u8 is_src_dst;
393   u8 del_all;
394   u32 vni;
395   u8 action;
396   u8 eid_type;
397   u8 eid[16];
398   u8 eid_len;
399   u8 seid[16];
400   u8 seid_len;
401   u32 rloc_num;
402   vl_api_one_remote_locator_t rlocs[rloc_num];
403 };
404
405 /** \brief Add/delete L2 ARP entries
406     @param client_index - opaque cookie to identify the sender
407     @param context - sender context, to match reply w/ request
408     @param is_add - add if non-zero; delete otherwise
409     @param bd - bridge domain
410     @param mac - MAC address
411     @param ip4 - IPv4 address
412 */
413 autoreply define one_add_del_l2_arp_entry
414 {
415   u32 client_index;
416   u32 context;
417   u8 is_add;
418   u8 mac[6];
419   u32 bd;
420   u32 ip4;
421 };
422
423 /** \brief Request for L2 ARP entries from specified bridge domain
424     @param client_index - opaque cookie to identify the sender
425     @param context - sender context, to match reply w/ request
426     @param bd - bridge domain
427 */
428 define one_l2_arp_entries_get
429 {
430   u32 client_index;
431   u32 context;
432   u32 bd;
433 };
434
435 typeonly manual_print manual_endian define one_l2_arp_entry
436 {
437   u8 mac[6];
438   u32 ip4;
439 };
440
441 /** \brief Reply with L2 ARP entries from specified bridge domain
442     @param context - sender context, to match reply w/ request
443     @param retval - error code
444     @param count - number of elements in the list
445     @param vl_api_one_arp_entry_t - list of entries
446 */
447 manual_print manual_endian define one_l2_arp_entries_get_reply
448 {
449   u32 context;
450   i32 retval;
451   u32 count;
452   vl_api_one_l2_arp_entry_t entries[count];
453 };
454
455 autoreply define one_add_del_ndp_entry
456 {
457   u32 client_index;
458   u32 context;
459   u8 is_add;
460   u8 mac[6];
461   u32 bd;
462   u8 ip6[16];
463 };
464
465 define one_ndp_entries_get
466 {
467   u32 client_index;
468   u32 context;
469   u32 bd;
470 };
471
472 typeonly manual_print manual_endian define one_ndp_entry
473 {
474   u8 mac[6];
475   u8 ip6[16];
476 };
477
478 manual_print manual_endian define one_ndp_entries_get_reply
479 {
480   u32 context;
481   i32 retval;
482   u32 count;
483   vl_api_one_ndp_entry_t entries[count];
484 };
485
486 /** \brief Set ONE transport protocol
487     @param client_index - opaque cookie to identify the sender
488     @param context - sender context, to match reply w/ request
489     @param protocol - supported vaules:
490       1: UDP based LISP (default)
491       2: binary API
492 */
493 autoreply define one_set_transport_protocol
494 {
495   u32 client_index;
496   u32 context;
497   u8 protocol;
498 };
499
500 define one_get_transport_protocol
501 {
502   u32 client_index;
503   u32 context;
504 };
505
506 define one_get_transport_protocol_reply
507 {
508   u32 context;
509   i32 retval;
510   u8 protocol;
511 };
512
513 /** \brief Request for list of bridge domains used by neighbor discovery
514     @param client_index - opaque cookie to identify the sender
515     @param context - sender context, to match reply w/ request
516 */
517 define one_ndp_bd_get
518 {
519   u32 client_index;
520   u32 context;
521 };
522
523 /** \brief Reply with list of bridge domains used by neighbor discovery
524     @param context - sender context, to match reply w/ request
525     @param count - number of elements in the list
526     @param bridge_domains - list of BDs
527 */
528 manual_print manual_endian define one_ndp_bd_get_reply
529 {
530   u32 context;
531   i32 retval;
532   u32 count;
533   u32 bridge_domains[count];
534 };
535
536 /** \brief Request for list of bridge domains used by L2 ARP table
537     @param client_index - opaque cookie to identify the sender
538     @param context - sender context, to match reply w/ request
539 */
540 define one_l2_arp_bd_get
541 {
542   u32 client_index;
543   u32 context;
544 };
545
546 /** \brief Reply with list of bridge domains used by L2 ARP table
547     @param context - sender context, to match reply w/ request
548     @param count - number of elements in the list
549     @param bridge_domains - list of BDs
550 */
551 manual_print manual_endian define one_l2_arp_bd_get_reply
552 {
553   u32 context;
554   i32 retval;
555   u32 count;
556   u32 bridge_domains[count];
557 };
558
559 /** \brief add or delete ONE adjacency adjacency
560     @param client_index - opaque cookie to identify the sender
561     @param context - sender context, to match reply w/ request
562     @param is_add - add address if non-zero, else delete
563     @param vni - virtual network instance
564     @param eid_type -
565       0 : ipv4
566       1 : ipv6
567       2 : mac
568     @param reid - remote EID
569     @param leid - local EID
570 */
571 autoreply define one_add_del_adjacency
572 {
573   u32 client_index;
574   u32 context;
575   u8 is_add;
576   u32 vni;
577   u8 eid_type;
578   u8 reid[16];
579   u8 leid[16];
580   u8 reid_len;
581   u8 leid_len;
582 };
583
584 /** \brief add or delete map request itr rlocs
585     @param client_index - opaque cookie to identify the sender
586     @param context - sender context, to match reply w/ request
587     @param is_add - add address if non-zero, else delete
588     @param locator_set_name - locator set name
589 */
590 autoreply define one_add_del_map_request_itr_rlocs
591 {
592   u32 client_index;
593   u32 context;
594   u8 is_add;
595   u8 locator_set_name[64];
596 };
597
598 /** \brief map/unmap vni/bd_index to vrf
599     @param client_index - opaque cookie to identify the sender
600     @param context - sender context, to match reply w/ request
601     @param is_add - add or delete mapping
602     @param dp_table - virtual network id/bridge domain index
603     @param vrf - vrf
604 */
605 autoreply define one_eid_table_add_del_map
606 {
607   u32 client_index;
608   u32 context;
609   u8 is_add;
610   u32 vni;
611   u32 dp_table;
612   u8 is_l2;
613 };
614
615 /** \brief Request for map one locator status
616     @param client_index - opaque cookie to identify the sender
617     @param context - sender context, to match reply w/ request
618     @param locator_set_index - index of locator_set
619     @param ls_name - locator set name
620     @param is_index_set - flag indicating whether ls_name or ls_index is set
621  */
622 define one_locator_dump
623 {
624   u32 client_index;
625   u32 context;
626   u32 ls_index;
627   u8 ls_name[64];
628   u8 is_index_set;
629 };
630
631 /** \brief ONE locator_set status
632     @param local - if is set, then locator is local
633     @param locator_set_name - name of the locator_set
634     @param sw_if_index - sw_if_index of the locator
635     @param priority - locator priority
636     @param weight - locator weight
637   */
638 define one_locator_details
639 {
640   u32 context;
641   u8 local;
642   u32 sw_if_index;
643   u8 is_ipv6;
644   u8 ip_address[16];
645   u8 priority;
646   u8 weight;
647 };
648
649 /** \brief ONE locator_set status
650     @param context - sender context, to match reply w/ request
651     @param ls_index - locator set index
652     @param ls_name - name of the locator set
653  */
654 define one_locator_set_details
655 {
656   u32 context;
657   u32 ls_index;
658   u8 ls_name[64];
659 };
660
661 /** \brief Request for locator_set summary status
662     @param client_index - opaque cookie to identify the sender
663     @param context - sender context, to match reply w/ request
664     @param filter - filter type
665       Supported values:
666         0: all locator sets
667         1: local locator sets
668         2: remote locator sets
669  */
670 define one_locator_set_dump
671 {
672   u32 client_index;
673   u32 context;
674   u8 filter;
675 };
676
677 /** \brief Dump ONE eid-table
678     @param client_index - opaque cookie to identify the sender
679     @param context - sender context, to match reply w/ request
680     @param locator_set_index - index of locator_set, if ~0 then the mapping
681                                 is negative
682     @param action - negative map request action
683     @param is_local - local if non-zero, else remote
684     @param eid_type:
685       0 : ipv4
686       1 : ipv6
687       2 : mac
688     @param is_src_dst - EID is type of source/destination
689     @param eid - EID can be ip4, ip6 or mac
690     @param eid_prefix_len - prefix length
691     @param seid - source EID can be ip4, ip6 or mac
692     @param seid_prefix_len - source prefix length
693     @param vni - virtual network instance
694     @param ttl - time to live
695     @param authoritative - authoritative
696     @param key_id
697       HMAC_NO_KEY           0
698       HMAC_SHA_1_96         1
699       HMAC_SHA_256_128      2
700     @param key - secret key
701 */
702
703 define one_eid_table_details
704 {
705   u32 context;
706   u32 locator_set_index;
707   u8 action;
708   u8 is_local;
709   u8 eid_type;
710   u8 is_src_dst;
711   u32 vni;
712   u8 eid[16];
713   u8 eid_prefix_len;
714   u8 seid[16];
715   u8 seid_prefix_len;
716   u32 ttl;
717   u8 authoritative;
718   u16 key_id;
719   u8 key[64];
720 };
721
722 /** \brief Request for eid table summary status
723     @param client_index - opaque cookie to identify the sender
724     @param context - sender context, to match reply w/ request
725     @param eid_set - if non-zero request info about specific mapping
726     @param vni - virtual network instance; valid only if eid_set != 0
727     @param prefix_length - prefix length if EID is IP address;
728       valid only if eid_set != 0
729     @param eid_type - EID type; valid only if eid_set != 0
730       Supported values:
731         0: EID is IPv4
732         1: EID is IPv6
733         2: EID is ethernet address
734         3 : NSH : both information (service path ID and service index) are
735           encoded in 'eid' field in a following way:
736
737           |4 B |1 B |
738           -----------
739           |SPI | SI |
740     @param eid - endpoint identifier
741     @param filter - filter type;
742       Support values:
743         0: all eid
744         1: local eid
745         2: remote eid
746  */
747 define one_eid_table_dump
748 {
749   u32 client_index;
750   u32 context;
751   u8 eid_set;
752   u8 prefix_length;
753   u32 vni;
754   u8 eid_type;
755   u8 eid[16];
756   u8 filter;
757 };
758
759 /** \brief ONE adjacency
760     @param eid_type -
761       0 : ipv4
762       1 : ipv6
763       2 : mac
764     @param reid - remote EID
765     @param leid - local EID
766     @param reid_prefix_len - remote EID IP prefix length
767     @param leid_prefix_len - local EID IP prefix length
768   */
769 typeonly manual_print manual_endian define one_adjacency
770 {
771   u8 eid_type;
772   u8 reid[16];
773   u8 leid[16];
774   u8 reid_prefix_len;
775   u8 leid_prefix_len;
776 };
777
778 /** \brief ONE adjacency reply
779     @param count - number of adjacencies
780     @param adjacencies - array of adjacencies
781   */
782 manual_endian manual_print define one_adjacencies_get_reply
783 {
784   u32 context;
785   i32 retval;
786   u32 count;
787   vl_api_one_adjacency_t adjacencies[count];
788 };
789
790 /** \brief Request for ONE adjacencies
791     @param client_index - opaque cookie to identify the sender
792     @param context - sender context, to match reply w/ request
793     @param vni - filter adjacencies by VNI
794  */
795 define one_adjacencies_get
796 {
797   u32 client_index;
798   u32 context;
799   u32 vni;
800 };
801
802 /** \brief Shows relationship between vni and vrf/bd
803     @param dp_table - VRF index or bridge domain index
804     @param vni - vitual network instance
805   */
806 define one_eid_table_map_details
807 {
808   u32 context;
809   u32 vni;
810   u32 dp_table;
811 };
812
813 /** \brief Request for one_eid_table_map_details
814     @param client_index - opaque cookie to identify the sender
815     @param context - sender context, to match reply w/ request
816     @param is_l2 - if set dump vni/bd mappings else vni/vrf
817  */
818 define one_eid_table_map_dump
819 {
820   u32 client_index;
821   u32 context;
822   u8 is_l2;
823 };
824
825 /** \brief Dumps all VNIs used in mappings
826     @param client_index - opaque cookie to identify the sender
827     @param context - sender context, to match reply w/ request
828   */
829 define one_eid_table_vni_dump
830 {
831   u32 client_index;
832   u32 context;
833 };
834
835 /** \brief reply to one_eid_table_vni_dump
836     @param client_index - opaque cookie to identify the sender
837     @param context - sender context, to match reply w/ request
838     @param vni - virtual network instance
839  */
840 define one_eid_table_vni_details
841 {
842   u32 client_index;
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  */