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