LISP: make TTL for map register messages configurable
[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 /** \brief Request for list of bridge domains used by L2 ARP table
456     @param client_index - opaque cookie to identify the sender
457     @param context - sender context, to match reply w/ request
458 */
459 define one_l2_arp_bd_get
460 {
461   u32 client_index;
462   u32 context;
463 };
464
465 /** \brief Reply with list of bridge domains used by L2 ARP table
466     @param context - sender context, to match reply w/ request
467     @param count - number of elements in the list
468     @param bridge_domains - list of BDs
469 */
470 manual_print manual_endian define one_l2_arp_bd_get_reply
471 {
472   u32 context;
473   i32 retval;
474   u32 count;
475   u32 bridge_domains[count];
476 };
477
478 /** \brief add or delete ONE adjacency adjacency
479     @param client_index - opaque cookie to identify the sender
480     @param context - sender context, to match reply w/ request
481     @param is_add - add address if non-zero, else delete
482     @param vni - virtual network instance
483     @param eid_type -
484       0 : ipv4
485       1 : ipv6
486       2 : mac
487     @param reid - remote EID
488     @param leid - local EID
489 */
490 autoreply define one_add_del_adjacency
491 {
492   u32 client_index;
493   u32 context;
494   u8 is_add;
495   u32 vni;
496   u8 eid_type;
497   u8 reid[16];
498   u8 leid[16];
499   u8 reid_len;
500   u8 leid_len;
501 };
502
503 /** \brief add or delete map request itr rlocs
504     @param client_index - opaque cookie to identify the sender
505     @param context - sender context, to match reply w/ request
506     @param is_add - add address if non-zero, else delete
507     @param locator_set_name - locator set name
508 */
509 autoreply define one_add_del_map_request_itr_rlocs
510 {
511   u32 client_index;
512   u32 context;
513   u8 is_add;
514   u8 locator_set_name[64];
515 };
516
517 /** \brief map/unmap vni/bd_index to vrf
518     @param client_index - opaque cookie to identify the sender
519     @param context - sender context, to match reply w/ request
520     @param is_add - add or delete mapping
521     @param dp_table - virtual network id/bridge domain index
522     @param vrf - vrf
523 */
524 autoreply define one_eid_table_add_del_map
525 {
526   u32 client_index;
527   u32 context;
528   u8 is_add;
529   u32 vni;
530   u32 dp_table;
531   u8 is_l2;
532 };
533
534 /** \brief Request for map one locator status
535     @param client_index - opaque cookie to identify the sender
536     @param context - sender context, to match reply w/ request
537     @param locator_set_index - index of locator_set
538     @param ls_name - locator set name
539     @param is_index_set - flag indicating whether ls_name or ls_index is set
540  */
541 define one_locator_dump
542 {
543   u32 client_index;
544   u32 context;
545   u32 ls_index;
546   u8 ls_name[64];
547   u8 is_index_set;
548 };
549
550 /** \brief ONE locator_set status
551     @param local - if is set, then locator is local
552     @param locator_set_name - name of the locator_set
553     @param sw_if_index - sw_if_index of the locator
554     @param priority - locator priority
555     @param weight - locator weight
556   */
557 define one_locator_details
558 {
559   u32 context;
560   u8 local;
561   u32 sw_if_index;
562   u8 is_ipv6;
563   u8 ip_address[16];
564   u8 priority;
565   u8 weight;
566 };
567
568 /** \brief ONE locator_set status
569     @param context - sender context, to match reply w/ request
570     @param ls_index - locator set index
571     @param ls_name - name of the locator set
572  */
573 define one_locator_set_details
574 {
575   u32 context;
576   u32 ls_index;
577   u8 ls_name[64];
578 };
579
580 /** \brief Request for locator_set summary status
581     @param client_index - opaque cookie to identify the sender
582     @param context - sender context, to match reply w/ request
583     @param filter - filter type
584       Supported values:
585         0: all locator sets
586         1: local locator sets
587         2: remote locator sets
588  */
589 define one_locator_set_dump
590 {
591   u32 client_index;
592   u32 context;
593   u8 filter;
594 };
595
596 /** \brief Dump ONE eid-table
597     @param client_index - opaque cookie to identify the sender
598     @param context - sender context, to match reply w/ request
599     @param locator_set_index - index of locator_set, if ~0 then the mapping
600                                 is negative
601     @param action - negative map request action
602     @param is_local - local if non-zero, else remote
603     @param eid_type:
604       0 : ipv4
605       1 : ipv6
606       2 : mac
607     @param is_src_dst - EID is type of source/destination
608     @param eid - EID can be ip4, ip6 or mac
609     @param eid_prefix_len - prefix length
610     @param seid - source EID can be ip4, ip6 or mac
611     @param seid_prefix_len - source prefix length
612     @param vni - virtual network instance
613     @param ttl - time to live
614     @param authoritative - authoritative
615     @param key_id
616       HMAC_NO_KEY           0
617       HMAC_SHA_1_96         1
618       HMAC_SHA_256_128      2
619     @param key - secret key
620 */
621
622 define one_eid_table_details
623 {
624   u32 context;
625   u32 locator_set_index;
626   u8 action;
627   u8 is_local;
628   u8 eid_type;
629   u8 is_src_dst;
630   u32 vni;
631   u8 eid[16];
632   u8 eid_prefix_len;
633   u8 seid[16];
634   u8 seid_prefix_len;
635   u32 ttl;
636   u8 authoritative;
637   u16 key_id;
638   u8 key[64];
639 };
640
641 /** \brief Request for eid table summary status
642     @param client_index - opaque cookie to identify the sender
643     @param context - sender context, to match reply w/ request
644     @param eid_set - if non-zero request info about specific mapping
645     @param vni - virtual network instance; valid only if eid_set != 0
646     @param prefix_length - prefix length if EID is IP address;
647       valid only if eid_set != 0
648     @param eid_type - EID type; valid only if eid_set != 0
649       Supported values:
650         0: EID is IPv4
651         1: EID is IPv6
652         2: EID is ethernet address
653         3 : NSH : both information (service path ID and service index) are
654           encoded in 'eid' field in a following way:
655
656           |4 B |1 B |
657           -----------
658           |SPI | SI |
659     @param eid - endpoint identifier
660     @param filter - filter type;
661       Support values:
662         0: all eid
663         1: local eid
664         2: remote eid
665  */
666 define one_eid_table_dump
667 {
668   u32 client_index;
669   u32 context;
670   u8 eid_set;
671   u8 prefix_length;
672   u32 vni;
673   u8 eid_type;
674   u8 eid[16];
675   u8 filter;
676 };
677
678 /** \brief ONE adjacency
679     @param eid_type -
680       0 : ipv4
681       1 : ipv6
682       2 : mac
683     @param reid - remote EID
684     @param leid - local EID
685     @param reid_prefix_len - remote EID IP prefix length
686     @param leid_prefix_len - local EID IP prefix length
687   */
688 typeonly manual_print manual_endian define one_adjacency
689 {
690   u8 eid_type;
691   u8 reid[16];
692   u8 leid[16];
693   u8 reid_prefix_len;
694   u8 leid_prefix_len;
695 };
696
697 /** \brief ONE adjacency reply
698     @param count - number of adjacencies
699     @param adjacencies - array of adjacencies
700   */
701 manual_endian manual_print define one_adjacencies_get_reply
702 {
703   u32 context;
704   i32 retval;
705   u32 count;
706   vl_api_one_adjacency_t adjacencies[count];
707 };
708
709 /** \brief Request for ONE adjacencies
710     @param client_index - opaque cookie to identify the sender
711     @param context - sender context, to match reply w/ request
712     @param vni - filter adjacencies by VNI
713  */
714 define one_adjacencies_get
715 {
716   u32 client_index;
717   u32 context;
718   u32 vni;
719 };
720
721 /** \brief Shows relationship between vni and vrf/bd
722     @param dp_table - VRF index or bridge domain index
723     @param vni - vitual network instance
724   */
725 define one_eid_table_map_details
726 {
727   u32 context;
728   u32 vni;
729   u32 dp_table;
730 };
731
732 /** \brief Request for one_eid_table_map_details
733     @param client_index - opaque cookie to identify the sender
734     @param context - sender context, to match reply w/ request
735     @param is_l2 - if set dump vni/bd mappings else vni/vrf
736  */
737 define one_eid_table_map_dump
738 {
739   u32 client_index;
740   u32 context;
741   u8 is_l2;
742 };
743
744 /** \brief Dumps all VNIs used in mappings
745     @param client_index - opaque cookie to identify the sender
746     @param context - sender context, to match reply w/ request
747   */
748 define one_eid_table_vni_dump
749 {
750   u32 client_index;
751   u32 context;
752 };
753
754 /** \brief reply to one_eid_table_vni_dump
755     @param client_index - opaque cookie to identify the sender
756     @param context - sender context, to match reply w/ request
757     @param vni - virtual network instance
758  */
759 define one_eid_table_vni_details
760 {
761   u32 client_index;
762   u32 context;
763   u32 vni;
764 };
765
766 /** \brief ONE map resolver status
767     @param is_ipv6 - if non-zero the address is ipv6, else ipv4
768     @param ip_address - array of address bytes
769  */
770 define one_map_resolver_details
771 {
772   u32 context;
773   u8 is_ipv6;
774   u8 ip_address[16];
775 };
776
777 /** \brief Request for map resolver summary status
778     @param client_index - opaque cookie to identify the sender
779     @param context - sender context, to match reply w/ request
780  */
781 define one_map_resolver_dump
782 {
783   u32 client_index;
784   u32 context;
785 };
786
787 /** \brief ONE map server details
788     @param is_ipv6 - if non-zero the address is ipv6, else ipv4
789     @param ip_address - array of address bytes
790  */
791 define one_map_server_details
792 {
793   u32 context;
794   u8 is_ipv6;
795   u8 ip_address[16];
796 };
797
798 /** \brief Request for map server summary status
799     @param client_index - opaque cookie to identify the sender
800     @param context - sender context, to match reply w/ request
801  */
802 define one_map_server_dump
803 {
804   u32 client_index;
805   u32 context;
806 };
807
808 /** \brief Request for ONE status
809     @param client_index - opaque cookie to identify the sender
810     @param context - sender context, to match reply w/ request
811 */
812 define show_one_status
813 {
814   u32 client_index;
815   u32 context;
816 };
817
818 /** \brief ONE status
819     @param context - sender context, to match reply w/ request
820     @param feature_status - enabled if non-zero, else disabled
821     @param gpe_status - enabled if non-zero, else disabled
822 */
823 define show_one_status_reply
824 {
825   u32 context;
826   i32 retval;
827   u8 feature_status;
828   u8 gpe_status;
829 };
830
831 /** \brief Get ONE map request itr rlocs status
832     @param context - sender context, to match reply w/ request
833     @param locator_set_name - name of the locator_set
834  */
835 define one_get_map_request_itr_rlocs
836 {
837   u32 client_index;
838   u32 context;
839 };
840
841 /** \brief Request for map request itr rlocs summary status
842  */
843 define one_get_map_request_itr_rlocs_reply
844 {
845   u32 context;
846   i32 retval;
847   u8 locator_set_name[64];
848 };
849
850 /** \brief Request for ONE NSH mapping
851     @param client_index - opaque cookie to identify the sender
852     @param context - sender context, to match reply w/ request
853 */
854 define show_one_nsh_mapping
855 {
856   u32 client_index;
857   u32 context;
858 };
859
860 /** \brief Reply for ONE NSH mapping
861     @param context - sender context, to match reply w/ request
862     @param is_set - is ONE NSH mapping set
863     @param locator_set_name - name of the locator_set if NSH mapping is set
864 */
865 define show_one_nsh_mapping_reply
866 {
867   u32 context;
868   i32 retval;
869   u8 is_set;
870   u8 locator_set_name[64];
871 };
872
873 /** \brief Request for ONE PITR status
874     @param client_index - opaque cookie to identify the sender
875     @param context - sender context, to match reply w/ request
876 */
877 define show_one_pitr
878 {
879   u32 client_index;
880   u32 context;
881 };
882
883 /** \brief Status of ONE PITR, enable or disable
884     @param context - sender context, to match reply w/ request
885     @param status - ONE PITR enable if non-zero, else disable
886     @param locator_set_name -  name of the locator_set
887 */
888 define show_one_pitr_reply
889 {
890   u32 context;
891   i32 retval;
892   u8 status;
893   u8 locator_set_name[64];
894 };
895
896 define one_stats_dump
897 {
898   u32 client_index;
899   u32 context;
900 };
901
902 define one_stats_details
903 {
904   u32 context;
905   u32 vni;
906   u8 eid_type;
907   u8 deid[16];
908   u8 seid[16];
909   u8 deid_pref_len;
910   u8 seid_pref_len;
911   u8 is_ip4;
912   u8 rloc[16];
913   u8 lloc[16];
914
915   u32 pkt_count;
916   u32 bytes;
917 };
918
919 autoreply define one_stats_flush
920 {
921   u32 client_index;
922   u32 context;
923 };
924
925 autoreply define one_stats_enable_disable
926 {
927   u32 client_index;
928   u32 context;
929   u8 is_en;
930 };
931
932 define show_one_stats_enable_disable
933 {
934   u32 client_index;
935   u32 context;
936 };
937
938 define show_one_stats_enable_disable_reply
939 {
940   u32 context;
941   i32 retval;
942   u8 is_en;
943 };
944
945 /*
946  * Local Variables:
947  * eval: (c-set-style "gnu")
948  * End:
949  */