Merge "Add support for jumbo frames to libmemif"
[govpp.git] / examples / bin_api / stats / stats.ba.go
1 // Code generated by GoVPP binapi-generator. DO NOT EDIT.
2 // source: stats.api.json
3
4 /*
5 Package stats is a generated VPP binary API of the 'stats' VPP module.
6
7 It is generated from this file:
8         stats.api.json
9
10 It contains these VPP binary API objects:
11         39 messages
12         10 types
13         14 services
14 */
15 package stats
16
17 import "git.fd.io/govpp.git/api"
18 import "github.com/lunixbochs/struc"
19 import "bytes"
20
21 // Reference imports to suppress errors if they are not otherwise used.
22 var _ = struc.Pack
23 var _ = bytes.NewBuffer
24
25 /* Types */
26
27 // VlibCounter represents the VPP binary API type 'vlib_counter'.
28 // Generated from 'stats.api.json', line 1004:
29 //
30 //            "vlib_counter",
31 //            [
32 //                "u64",
33 //                "packets"
34 //            ],
35 //            [
36 //                "u64",
37 //                "bytes"
38 //            ],
39 //            {
40 //                "crc": "0xce2325a2"
41 //            }
42 //
43 type VlibCounter struct {
44         Packets uint64
45         Bytes   uint64
46 }
47
48 func (*VlibCounter) GetTypeName() string {
49         return "vlib_counter"
50 }
51 func (*VlibCounter) GetCrcString() string {
52         return "ce2325a2"
53 }
54
55 // VnetCombinedCounter represents the VPP binary API type 'vnet_combined_counter'.
56 // Generated from 'stats.api.json', line 1018:
57 //
58 //            "vnet_combined_counter",
59 //            [
60 //                "u32",
61 //                "sw_if_index"
62 //            ],
63 //            [
64 //                "u64",
65 //                "rx_packets"
66 //            ],
67 //            [
68 //                "u64",
69 //                "rx_bytes"
70 //            ],
71 //            [
72 //                "u64",
73 //                "rx_unicast_packets"
74 //            ],
75 //            [
76 //                "u64",
77 //                "rx_unicast_bytes"
78 //            ],
79 //            [
80 //                "u64",
81 //                "rx_multicast_packets"
82 //            ],
83 //            [
84 //                "u64",
85 //                "rx_multicast_bytes"
86 //            ],
87 //            [
88 //                "u64",
89 //                "rx_broadcast_packets"
90 //            ],
91 //            [
92 //                "u64",
93 //                "rx_broadcast_bytes"
94 //            ],
95 //            [
96 //                "u64",
97 //                "tx_packets"
98 //            ],
99 //            [
100 //                "u64",
101 //                "tx_bytes"
102 //            ],
103 //            [
104 //                "u64",
105 //                "tx_unicast_packets"
106 //            ],
107 //            [
108 //                "u64",
109 //                "tx_unicast_bytes"
110 //            ],
111 //            [
112 //                "u64",
113 //                "tx_multicast_packets"
114 //            ],
115 //            [
116 //                "u64",
117 //                "tx_multicast_bytes"
118 //            ],
119 //            [
120 //                "u64",
121 //                "tx_broadcast_packets"
122 //            ],
123 //            [
124 //                "u64",
125 //                "tx_broadcast_bytes"
126 //            ],
127 //            {
128 //                "crc": "0x20905ca4"
129 //            }
130 //
131 type VnetCombinedCounter struct {
132         SwIfIndex          uint32
133         RxPackets          uint64
134         RxBytes            uint64
135         RxUnicastPackets   uint64
136         RxUnicastBytes     uint64
137         RxMulticastPackets uint64
138         RxMulticastBytes   uint64
139         RxBroadcastPackets uint64
140         RxBroadcastBytes   uint64
141         TxPackets          uint64
142         TxBytes            uint64
143         TxUnicastPackets   uint64
144         TxUnicastBytes     uint64
145         TxMulticastPackets uint64
146         TxMulticastBytes   uint64
147         TxBroadcastPackets uint64
148         TxBroadcastBytes   uint64
149 }
150
151 func (*VnetCombinedCounter) GetTypeName() string {
152         return "vnet_combined_counter"
153 }
154 func (*VnetCombinedCounter) GetCrcString() string {
155         return "20905ca4"
156 }
157
158 // VnetSimpleCounter represents the VPP binary API type 'vnet_simple_counter'.
159 // Generated from 'stats.api.json', line 1092:
160 //
161 //            "vnet_simple_counter",
162 //            [
163 //                "u32",
164 //                "sw_if_index"
165 //            ],
166 //            [
167 //                "u64",
168 //                "drop"
169 //            ],
170 //            [
171 //                "u64",
172 //                "punt"
173 //            ],
174 //            [
175 //                "u64",
176 //                "rx_ip4"
177 //            ],
178 //            [
179 //                "u64",
180 //                "rx_ip6"
181 //            ],
182 //            [
183 //                "u64",
184 //                "rx_no_buffer"
185 //            ],
186 //            [
187 //                "u64",
188 //                "rx_miss"
189 //            ],
190 //            [
191 //                "u64",
192 //                "rx_error"
193 //            ],
194 //            [
195 //                "u64",
196 //                "tx_error"
197 //            ],
198 //            [
199 //                "u64",
200 //                "rx_mpls"
201 //            ],
202 //            {
203 //                "crc": "0x8bd65e2d"
204 //            }
205 //
206 type VnetSimpleCounter struct {
207         SwIfIndex  uint32
208         Drop       uint64
209         Punt       uint64
210         RxIP4      uint64
211         RxIP6      uint64
212         RxNoBuffer uint64
213         RxMiss     uint64
214         RxError    uint64
215         TxError    uint64
216         RxMpls     uint64
217 }
218
219 func (*VnetSimpleCounter) GetTypeName() string {
220         return "vnet_simple_counter"
221 }
222 func (*VnetSimpleCounter) GetCrcString() string {
223         return "8bd65e2d"
224 }
225
226 // IP4FibCounter represents the VPP binary API type 'ip4_fib_counter'.
227 // Generated from 'stats.api.json', line 1138:
228 //
229 //            "ip4_fib_counter",
230 //            [
231 //                "u32",
232 //                "address"
233 //            ],
234 //            [
235 //                "u8",
236 //                "address_length"
237 //            ],
238 //            [
239 //                "u64",
240 //                "packets"
241 //            ],
242 //            [
243 //                "u64",
244 //                "bytes"
245 //            ],
246 //            {
247 //                "crc": "0xa6ceb0c9"
248 //            }
249 //
250 type IP4FibCounter struct {
251         Address       uint32
252         AddressLength uint8
253         Packets       uint64
254         Bytes         uint64
255 }
256
257 func (*IP4FibCounter) GetTypeName() string {
258         return "ip4_fib_counter"
259 }
260 func (*IP4FibCounter) GetCrcString() string {
261         return "a6ceb0c9"
262 }
263
264 // IP4MfibCounter represents the VPP binary API type 'ip4_mfib_counter'.
265 // Generated from 'stats.api.json', line 1160:
266 //
267 //            "ip4_mfib_counter",
268 //            [
269 //                "u8",
270 //                "source",
271 //                4
272 //            ],
273 //            [
274 //                "u8",
275 //                "group",
276 //                4
277 //            ],
278 //            [
279 //                "u8",
280 //                "group_length"
281 //            ],
282 //            [
283 //                "u64",
284 //                "packets"
285 //            ],
286 //            [
287 //                "u64",
288 //                "bytes"
289 //            ],
290 //            {
291 //                "crc": "0x2cee4721"
292 //            }
293 //
294 type IP4MfibCounter struct {
295         Source      []byte `struc:"[4]byte"`
296         Group       []byte `struc:"[4]byte"`
297         GroupLength uint8
298         Packets     uint64
299         Bytes       uint64
300 }
301
302 func (*IP4MfibCounter) GetTypeName() string {
303         return "ip4_mfib_counter"
304 }
305 func (*IP4MfibCounter) GetCrcString() string {
306         return "2cee4721"
307 }
308
309 // IP4NbrCounter represents the VPP binary API type 'ip4_nbr_counter'.
310 // Generated from 'stats.api.json', line 1188:
311 //
312 //            "ip4_nbr_counter",
313 //            [
314 //                "u32",
315 //                "address"
316 //            ],
317 //            [
318 //                "u8",
319 //                "link_type"
320 //            ],
321 //            [
322 //                "u64",
323 //                "packets"
324 //            ],
325 //            [
326 //                "u64",
327 //                "bytes"
328 //            ],
329 //            {
330 //                "crc": "0xb9f974d6"
331 //            }
332 //
333 type IP4NbrCounter struct {
334         Address  uint32
335         LinkType uint8
336         Packets  uint64
337         Bytes    uint64
338 }
339
340 func (*IP4NbrCounter) GetTypeName() string {
341         return "ip4_nbr_counter"
342 }
343 func (*IP4NbrCounter) GetCrcString() string {
344         return "b9f974d6"
345 }
346
347 // IP6FibCounter represents the VPP binary API type 'ip6_fib_counter'.
348 // Generated from 'stats.api.json', line 1210:
349 //
350 //            "ip6_fib_counter",
351 //            [
352 //                "u64",
353 //                "address",
354 //                2
355 //            ],
356 //            [
357 //                "u8",
358 //                "address_length"
359 //            ],
360 //            [
361 //                "u64",
362 //                "packets"
363 //            ],
364 //            [
365 //                "u64",
366 //                "bytes"
367 //            ],
368 //            {
369 //                "crc": "0xf1197efb"
370 //            }
371 //
372 type IP6FibCounter struct {
373         Address       []uint64 `struc:"[2]uint64"`
374         AddressLength uint8
375         Packets       uint64
376         Bytes         uint64
377 }
378
379 func (*IP6FibCounter) GetTypeName() string {
380         return "ip6_fib_counter"
381 }
382 func (*IP6FibCounter) GetCrcString() string {
383         return "f1197efb"
384 }
385
386 // IP6MfibCounter represents the VPP binary API type 'ip6_mfib_counter'.
387 // Generated from 'stats.api.json', line 1233:
388 //
389 //            "ip6_mfib_counter",
390 //            [
391 //                "u8",
392 //                "source",
393 //                16
394 //            ],
395 //            [
396 //                "u8",
397 //                "group",
398 //                16
399 //            ],
400 //            [
401 //                "u8",
402 //                "group_length"
403 //            ],
404 //            [
405 //                "u64",
406 //                "packets"
407 //            ],
408 //            [
409 //                "u64",
410 //                "bytes"
411 //            ],
412 //            {
413 //                "crc": "0x90a9590e"
414 //            }
415 //
416 type IP6MfibCounter struct {
417         Source      []byte `struc:"[16]byte"`
418         Group       []byte `struc:"[16]byte"`
419         GroupLength uint8
420         Packets     uint64
421         Bytes       uint64
422 }
423
424 func (*IP6MfibCounter) GetTypeName() string {
425         return "ip6_mfib_counter"
426 }
427 func (*IP6MfibCounter) GetCrcString() string {
428         return "90a9590e"
429 }
430
431 // IP6NbrCounter represents the VPP binary API type 'ip6_nbr_counter'.
432 // Generated from 'stats.api.json', line 1261:
433 //
434 //            "ip6_nbr_counter",
435 //            [
436 //                "u64",
437 //                "address",
438 //                2
439 //            ],
440 //            [
441 //                "u8",
442 //                "link_type"
443 //            ],
444 //            [
445 //                "u64",
446 //                "packets"
447 //            ],
448 //            [
449 //                "u64",
450 //                "bytes"
451 //            ],
452 //            {
453 //                "crc": "0x2d755474"
454 //            }
455 //
456 type IP6NbrCounter struct {
457         Address  []uint64 `struc:"[2]uint64"`
458         LinkType uint8
459         Packets  uint64
460         Bytes    uint64
461 }
462
463 func (*IP6NbrCounter) GetTypeName() string {
464         return "ip6_nbr_counter"
465 }
466 func (*IP6NbrCounter) GetCrcString() string {
467         return "2d755474"
468 }
469
470 // UDPEncapCounter represents the VPP binary API type 'udp_encap_counter'.
471 // Generated from 'stats.api.json', line 1284:
472 //
473 //            "udp_encap_counter",
474 //            [
475 //                "u32",
476 //                "id"
477 //            ],
478 //            [
479 //                "u64",
480 //                "packets"
481 //            ],
482 //            [
483 //                "u64",
484 //                "bytes"
485 //            ],
486 //            {
487 //                "crc": "0x7107035f"
488 //            }
489 //
490 type UDPEncapCounter struct {
491         ID      uint32
492         Packets uint64
493         Bytes   uint64
494 }
495
496 func (*UDPEncapCounter) GetTypeName() string {
497         return "udp_encap_counter"
498 }
499 func (*UDPEncapCounter) GetCrcString() string {
500         return "7107035f"
501 }
502
503 /* Messages */
504
505 // WantStats represents the VPP binary API message 'want_stats'.
506 // Generated from 'stats.api.json', line 4:
507 //
508 //            "want_stats",
509 //            [
510 //                "u16",
511 //                "_vl_msg_id"
512 //            ],
513 //            [
514 //                "u32",
515 //                "client_index"
516 //            ],
517 //            [
518 //                "u32",
519 //                "context"
520 //            ],
521 //            [
522 //                "u32",
523 //                "enable_disable"
524 //            ],
525 //            [
526 //                "u32",
527 //                "pid"
528 //            ],
529 //            {
530 //                "crc": "0x476f5a08"
531 //            }
532 //
533 type WantStats struct {
534         EnableDisable uint32
535         PID           uint32
536 }
537
538 func (*WantStats) GetMessageName() string {
539         return "want_stats"
540 }
541 func (*WantStats) GetCrcString() string {
542         return "476f5a08"
543 }
544 func (*WantStats) GetMessageType() api.MessageType {
545         return api.RequestMessage
546 }
547 func NewWantStats() api.Message {
548         return &WantStats{}
549 }
550
551 // WantStatsReply represents the VPP binary API message 'want_stats_reply'.
552 // Generated from 'stats.api.json', line 30:
553 //
554 //            "want_stats_reply",
555 //            [
556 //                "u16",
557 //                "_vl_msg_id"
558 //            ],
559 //            [
560 //                "u32",
561 //                "context"
562 //            ],
563 //            [
564 //                "i32",
565 //                "retval"
566 //            ],
567 //            {
568 //                "crc": "0xe8d4e804"
569 //            }
570 //
571 type WantStatsReply struct {
572         Retval int32
573 }
574
575 func (*WantStatsReply) GetMessageName() string {
576         return "want_stats_reply"
577 }
578 func (*WantStatsReply) GetCrcString() string {
579         return "e8d4e804"
580 }
581 func (*WantStatsReply) GetMessageType() api.MessageType {
582         return api.ReplyMessage
583 }
584 func NewWantStatsReply() api.Message {
585         return &WantStatsReply{}
586 }
587
588 // WantInterfaceSimpleStats represents the VPP binary API message 'want_interface_simple_stats'.
589 // Generated from 'stats.api.json', line 48:
590 //
591 //            "want_interface_simple_stats",
592 //            [
593 //                "u16",
594 //                "_vl_msg_id"
595 //            ],
596 //            [
597 //                "u32",
598 //                "client_index"
599 //            ],
600 //            [
601 //                "u32",
602 //                "context"
603 //            ],
604 //            [
605 //                "u32",
606 //                "enable_disable"
607 //            ],
608 //            [
609 //                "u32",
610 //                "pid"
611 //            ],
612 //            {
613 //                "crc": "0x476f5a08"
614 //            }
615 //
616 type WantInterfaceSimpleStats struct {
617         EnableDisable uint32
618         PID           uint32
619 }
620
621 func (*WantInterfaceSimpleStats) GetMessageName() string {
622         return "want_interface_simple_stats"
623 }
624 func (*WantInterfaceSimpleStats) GetCrcString() string {
625         return "476f5a08"
626 }
627 func (*WantInterfaceSimpleStats) GetMessageType() api.MessageType {
628         return api.RequestMessage
629 }
630 func NewWantInterfaceSimpleStats() api.Message {
631         return &WantInterfaceSimpleStats{}
632 }
633
634 // WantInterfaceSimpleStatsReply represents the VPP binary API message 'want_interface_simple_stats_reply'.
635 // Generated from 'stats.api.json', line 74:
636 //
637 //            "want_interface_simple_stats_reply",
638 //            [
639 //                "u16",
640 //                "_vl_msg_id"
641 //            ],
642 //            [
643 //                "u32",
644 //                "context"
645 //            ],
646 //            [
647 //                "i32",
648 //                "retval"
649 //            ],
650 //            {
651 //                "crc": "0xe8d4e804"
652 //            }
653 //
654 type WantInterfaceSimpleStatsReply struct {
655         Retval int32
656 }
657
658 func (*WantInterfaceSimpleStatsReply) GetMessageName() string {
659         return "want_interface_simple_stats_reply"
660 }
661 func (*WantInterfaceSimpleStatsReply) GetCrcString() string {
662         return "e8d4e804"
663 }
664 func (*WantInterfaceSimpleStatsReply) GetMessageType() api.MessageType {
665         return api.ReplyMessage
666 }
667 func NewWantInterfaceSimpleStatsReply() api.Message {
668         return &WantInterfaceSimpleStatsReply{}
669 }
670
671 // WantPerInterfaceSimpleStats represents the VPP binary API message 'want_per_interface_simple_stats'.
672 // Generated from 'stats.api.json', line 92:
673 //
674 //            "want_per_interface_simple_stats",
675 //            [
676 //                "u16",
677 //                "_vl_msg_id"
678 //            ],
679 //            [
680 //                "u32",
681 //                "client_index"
682 //            ],
683 //            [
684 //                "u32",
685 //                "context"
686 //            ],
687 //            [
688 //                "u32",
689 //                "enable_disable"
690 //            ],
691 //            [
692 //                "u32",
693 //                "pid"
694 //            ],
695 //            [
696 //                "u32",
697 //                "num"
698 //            ],
699 //            [
700 //                "u32",
701 //                "sw_ifs",
702 //                0,
703 //                "num"
704 //            ],
705 //            {
706 //                "crc": "0x729d04f1"
707 //            }
708 //
709 type WantPerInterfaceSimpleStats struct {
710         EnableDisable uint32
711         PID           uint32
712         Num           uint32 `struc:"sizeof=SwIfs"`
713         SwIfs         []uint32
714 }
715
716 func (*WantPerInterfaceSimpleStats) GetMessageName() string {
717         return "want_per_interface_simple_stats"
718 }
719 func (*WantPerInterfaceSimpleStats) GetCrcString() string {
720         return "729d04f1"
721 }
722 func (*WantPerInterfaceSimpleStats) GetMessageType() api.MessageType {
723         return api.RequestMessage
724 }
725 func NewWantPerInterfaceSimpleStats() api.Message {
726         return &WantPerInterfaceSimpleStats{}
727 }
728
729 // WantPerInterfaceSimpleStatsReply represents the VPP binary API message 'want_per_interface_simple_stats_reply'.
730 // Generated from 'stats.api.json', line 128:
731 //
732 //            "want_per_interface_simple_stats_reply",
733 //            [
734 //                "u16",
735 //                "_vl_msg_id"
736 //            ],
737 //            [
738 //                "u32",
739 //                "context"
740 //            ],
741 //            [
742 //                "i32",
743 //                "retval"
744 //            ],
745 //            {
746 //                "crc": "0xe8d4e804"
747 //            }
748 //
749 type WantPerInterfaceSimpleStatsReply struct {
750         Retval int32
751 }
752
753 func (*WantPerInterfaceSimpleStatsReply) GetMessageName() string {
754         return "want_per_interface_simple_stats_reply"
755 }
756 func (*WantPerInterfaceSimpleStatsReply) GetCrcString() string {
757         return "e8d4e804"
758 }
759 func (*WantPerInterfaceSimpleStatsReply) GetMessageType() api.MessageType {
760         return api.ReplyMessage
761 }
762 func NewWantPerInterfaceSimpleStatsReply() api.Message {
763         return &WantPerInterfaceSimpleStatsReply{}
764 }
765
766 // WantInterfaceCombinedStats represents the VPP binary API message 'want_interface_combined_stats'.
767 // Generated from 'stats.api.json', line 146:
768 //
769 //            "want_interface_combined_stats",
770 //            [
771 //                "u16",
772 //                "_vl_msg_id"
773 //            ],
774 //            [
775 //                "u32",
776 //                "client_index"
777 //            ],
778 //            [
779 //                "u32",
780 //                "context"
781 //            ],
782 //            [
783 //                "u32",
784 //                "enable_disable"
785 //            ],
786 //            [
787 //                "u32",
788 //                "pid"
789 //            ],
790 //            {
791 //                "crc": "0x476f5a08"
792 //            }
793 //
794 type WantInterfaceCombinedStats struct {
795         EnableDisable uint32
796         PID           uint32
797 }
798
799 func (*WantInterfaceCombinedStats) GetMessageName() string {
800         return "want_interface_combined_stats"
801 }
802 func (*WantInterfaceCombinedStats) GetCrcString() string {
803         return "476f5a08"
804 }
805 func (*WantInterfaceCombinedStats) GetMessageType() api.MessageType {
806         return api.RequestMessage
807 }
808 func NewWantInterfaceCombinedStats() api.Message {
809         return &WantInterfaceCombinedStats{}
810 }
811
812 // WantInterfaceCombinedStatsReply represents the VPP binary API message 'want_interface_combined_stats_reply'.
813 // Generated from 'stats.api.json', line 172:
814 //
815 //            "want_interface_combined_stats_reply",
816 //            [
817 //                "u16",
818 //                "_vl_msg_id"
819 //            ],
820 //            [
821 //                "u32",
822 //                "context"
823 //            ],
824 //            [
825 //                "i32",
826 //                "retval"
827 //            ],
828 //            {
829 //                "crc": "0xe8d4e804"
830 //            }
831 //
832 type WantInterfaceCombinedStatsReply struct {
833         Retval int32
834 }
835
836 func (*WantInterfaceCombinedStatsReply) GetMessageName() string {
837         return "want_interface_combined_stats_reply"
838 }
839 func (*WantInterfaceCombinedStatsReply) GetCrcString() string {
840         return "e8d4e804"
841 }
842 func (*WantInterfaceCombinedStatsReply) GetMessageType() api.MessageType {
843         return api.ReplyMessage
844 }
845 func NewWantInterfaceCombinedStatsReply() api.Message {
846         return &WantInterfaceCombinedStatsReply{}
847 }
848
849 // WantPerInterfaceCombinedStats represents the VPP binary API message 'want_per_interface_combined_stats'.
850 // Generated from 'stats.api.json', line 190:
851 //
852 //            "want_per_interface_combined_stats",
853 //            [
854 //                "u16",
855 //                "_vl_msg_id"
856 //            ],
857 //            [
858 //                "u32",
859 //                "client_index"
860 //            ],
861 //            [
862 //                "u32",
863 //                "context"
864 //            ],
865 //            [
866 //                "u32",
867 //                "enable_disable"
868 //            ],
869 //            [
870 //                "u32",
871 //                "pid"
872 //            ],
873 //            [
874 //                "u32",
875 //                "num"
876 //            ],
877 //            [
878 //                "u32",
879 //                "sw_ifs",
880 //                0,
881 //                "num"
882 //            ],
883 //            {
884 //                "crc": "0x729d04f1"
885 //            }
886 //
887 type WantPerInterfaceCombinedStats struct {
888         EnableDisable uint32
889         PID           uint32
890         Num           uint32 `struc:"sizeof=SwIfs"`
891         SwIfs         []uint32
892 }
893
894 func (*WantPerInterfaceCombinedStats) GetMessageName() string {
895         return "want_per_interface_combined_stats"
896 }
897 func (*WantPerInterfaceCombinedStats) GetCrcString() string {
898         return "729d04f1"
899 }
900 func (*WantPerInterfaceCombinedStats) GetMessageType() api.MessageType {
901         return api.RequestMessage
902 }
903 func NewWantPerInterfaceCombinedStats() api.Message {
904         return &WantPerInterfaceCombinedStats{}
905 }
906
907 // WantPerInterfaceCombinedStatsReply represents the VPP binary API message 'want_per_interface_combined_stats_reply'.
908 // Generated from 'stats.api.json', line 226:
909 //
910 //            "want_per_interface_combined_stats_reply",
911 //            [
912 //                "u16",
913 //                "_vl_msg_id"
914 //            ],
915 //            [
916 //                "u32",
917 //                "context"
918 //            ],
919 //            [
920 //                "i32",
921 //                "retval"
922 //            ],
923 //            {
924 //                "crc": "0xe8d4e804"
925 //            }
926 //
927 type WantPerInterfaceCombinedStatsReply struct {
928         Retval int32
929 }
930
931 func (*WantPerInterfaceCombinedStatsReply) GetMessageName() string {
932         return "want_per_interface_combined_stats_reply"
933 }
934 func (*WantPerInterfaceCombinedStatsReply) GetCrcString() string {
935         return "e8d4e804"
936 }
937 func (*WantPerInterfaceCombinedStatsReply) GetMessageType() api.MessageType {
938         return api.ReplyMessage
939 }
940 func NewWantPerInterfaceCombinedStatsReply() api.Message {
941         return &WantPerInterfaceCombinedStatsReply{}
942 }
943
944 // WantIP4FibStats represents the VPP binary API message 'want_ip4_fib_stats'.
945 // Generated from 'stats.api.json', line 244:
946 //
947 //            "want_ip4_fib_stats",
948 //            [
949 //                "u16",
950 //                "_vl_msg_id"
951 //            ],
952 //            [
953 //                "u32",
954 //                "client_index"
955 //            ],
956 //            [
957 //                "u32",
958 //                "context"
959 //            ],
960 //            [
961 //                "u32",
962 //                "enable_disable"
963 //            ],
964 //            [
965 //                "u32",
966 //                "pid"
967 //            ],
968 //            {
969 //                "crc": "0x476f5a08"
970 //            }
971 //
972 type WantIP4FibStats struct {
973         EnableDisable uint32
974         PID           uint32
975 }
976
977 func (*WantIP4FibStats) GetMessageName() string {
978         return "want_ip4_fib_stats"
979 }
980 func (*WantIP4FibStats) GetCrcString() string {
981         return "476f5a08"
982 }
983 func (*WantIP4FibStats) GetMessageType() api.MessageType {
984         return api.RequestMessage
985 }
986 func NewWantIP4FibStats() api.Message {
987         return &WantIP4FibStats{}
988 }
989
990 // WantIP4FibStatsReply represents the VPP binary API message 'want_ip4_fib_stats_reply'.
991 // Generated from 'stats.api.json', line 270:
992 //
993 //            "want_ip4_fib_stats_reply",
994 //            [
995 //                "u16",
996 //                "_vl_msg_id"
997 //            ],
998 //            [
999 //                "u32",
1000 //                "context"
1001 //            ],
1002 //            [
1003 //                "i32",
1004 //                "retval"
1005 //            ],
1006 //            {
1007 //                "crc": "0xe8d4e804"
1008 //            }
1009 //
1010 type WantIP4FibStatsReply struct {
1011         Retval int32
1012 }
1013
1014 func (*WantIP4FibStatsReply) GetMessageName() string {
1015         return "want_ip4_fib_stats_reply"
1016 }
1017 func (*WantIP4FibStatsReply) GetCrcString() string {
1018         return "e8d4e804"
1019 }
1020 func (*WantIP4FibStatsReply) GetMessageType() api.MessageType {
1021         return api.ReplyMessage
1022 }
1023 func NewWantIP4FibStatsReply() api.Message {
1024         return &WantIP4FibStatsReply{}
1025 }
1026
1027 // WantIP6FibStats represents the VPP binary API message 'want_ip6_fib_stats'.
1028 // Generated from 'stats.api.json', line 288:
1029 //
1030 //            "want_ip6_fib_stats",
1031 //            [
1032 //                "u16",
1033 //                "_vl_msg_id"
1034 //            ],
1035 //            [
1036 //                "u32",
1037 //                "client_index"
1038 //            ],
1039 //            [
1040 //                "u32",
1041 //                "context"
1042 //            ],
1043 //            [
1044 //                "u32",
1045 //                "enable_disable"
1046 //            ],
1047 //            [
1048 //                "u32",
1049 //                "pid"
1050 //            ],
1051 //            {
1052 //                "crc": "0x476f5a08"
1053 //            }
1054 //
1055 type WantIP6FibStats struct {
1056         EnableDisable uint32
1057         PID           uint32
1058 }
1059
1060 func (*WantIP6FibStats) GetMessageName() string {
1061         return "want_ip6_fib_stats"
1062 }
1063 func (*WantIP6FibStats) GetCrcString() string {
1064         return "476f5a08"
1065 }
1066 func (*WantIP6FibStats) GetMessageType() api.MessageType {
1067         return api.RequestMessage
1068 }
1069 func NewWantIP6FibStats() api.Message {
1070         return &WantIP6FibStats{}
1071 }
1072
1073 // WantIP6FibStatsReply represents the VPP binary API message 'want_ip6_fib_stats_reply'.
1074 // Generated from 'stats.api.json', line 314:
1075 //
1076 //            "want_ip6_fib_stats_reply",
1077 //            [
1078 //                "u16",
1079 //                "_vl_msg_id"
1080 //            ],
1081 //            [
1082 //                "u32",
1083 //                "context"
1084 //            ],
1085 //            [
1086 //                "i32",
1087 //                "retval"
1088 //            ],
1089 //            {
1090 //                "crc": "0xe8d4e804"
1091 //            }
1092 //
1093 type WantIP6FibStatsReply struct {
1094         Retval int32
1095 }
1096
1097 func (*WantIP6FibStatsReply) GetMessageName() string {
1098         return "want_ip6_fib_stats_reply"
1099 }
1100 func (*WantIP6FibStatsReply) GetCrcString() string {
1101         return "e8d4e804"
1102 }
1103 func (*WantIP6FibStatsReply) GetMessageType() api.MessageType {
1104         return api.ReplyMessage
1105 }
1106 func NewWantIP6FibStatsReply() api.Message {
1107         return &WantIP6FibStatsReply{}
1108 }
1109
1110 // WantIP4MfibStats represents the VPP binary API message 'want_ip4_mfib_stats'.
1111 // Generated from 'stats.api.json', line 332:
1112 //
1113 //            "want_ip4_mfib_stats",
1114 //            [
1115 //                "u16",
1116 //                "_vl_msg_id"
1117 //            ],
1118 //            [
1119 //                "u32",
1120 //                "client_index"
1121 //            ],
1122 //            [
1123 //                "u32",
1124 //                "context"
1125 //            ],
1126 //            [
1127 //                "u32",
1128 //                "enable_disable"
1129 //            ],
1130 //            [
1131 //                "u32",
1132 //                "pid"
1133 //            ],
1134 //            {
1135 //                "crc": "0x476f5a08"
1136 //            }
1137 //
1138 type WantIP4MfibStats struct {
1139         EnableDisable uint32
1140         PID           uint32
1141 }
1142
1143 func (*WantIP4MfibStats) GetMessageName() string {
1144         return "want_ip4_mfib_stats"
1145 }
1146 func (*WantIP4MfibStats) GetCrcString() string {
1147         return "476f5a08"
1148 }
1149 func (*WantIP4MfibStats) GetMessageType() api.MessageType {
1150         return api.RequestMessage
1151 }
1152 func NewWantIP4MfibStats() api.Message {
1153         return &WantIP4MfibStats{}
1154 }
1155
1156 // WantIP4MfibStatsReply represents the VPP binary API message 'want_ip4_mfib_stats_reply'.
1157 // Generated from 'stats.api.json', line 358:
1158 //
1159 //            "want_ip4_mfib_stats_reply",
1160 //            [
1161 //                "u16",
1162 //                "_vl_msg_id"
1163 //            ],
1164 //            [
1165 //                "u32",
1166 //                "context"
1167 //            ],
1168 //            [
1169 //                "i32",
1170 //                "retval"
1171 //            ],
1172 //            {
1173 //                "crc": "0xe8d4e804"
1174 //            }
1175 //
1176 type WantIP4MfibStatsReply struct {
1177         Retval int32
1178 }
1179
1180 func (*WantIP4MfibStatsReply) GetMessageName() string {
1181         return "want_ip4_mfib_stats_reply"
1182 }
1183 func (*WantIP4MfibStatsReply) GetCrcString() string {
1184         return "e8d4e804"
1185 }
1186 func (*WantIP4MfibStatsReply) GetMessageType() api.MessageType {
1187         return api.ReplyMessage
1188 }
1189 func NewWantIP4MfibStatsReply() api.Message {
1190         return &WantIP4MfibStatsReply{}
1191 }
1192
1193 // WantIP6MfibStats represents the VPP binary API message 'want_ip6_mfib_stats'.
1194 // Generated from 'stats.api.json', line 376:
1195 //
1196 //            "want_ip6_mfib_stats",
1197 //            [
1198 //                "u16",
1199 //                "_vl_msg_id"
1200 //            ],
1201 //            [
1202 //                "u32",
1203 //                "client_index"
1204 //            ],
1205 //            [
1206 //                "u32",
1207 //                "context"
1208 //            ],
1209 //            [
1210 //                "u32",
1211 //                "enable_disable"
1212 //            ],
1213 //            [
1214 //                "u32",
1215 //                "pid"
1216 //            ],
1217 //            {
1218 //                "crc": "0x476f5a08"
1219 //            }
1220 //
1221 type WantIP6MfibStats struct {
1222         EnableDisable uint32
1223         PID           uint32
1224 }
1225
1226 func (*WantIP6MfibStats) GetMessageName() string {
1227         return "want_ip6_mfib_stats"
1228 }
1229 func (*WantIP6MfibStats) GetCrcString() string {
1230         return "476f5a08"
1231 }
1232 func (*WantIP6MfibStats) GetMessageType() api.MessageType {
1233         return api.RequestMessage
1234 }
1235 func NewWantIP6MfibStats() api.Message {
1236         return &WantIP6MfibStats{}
1237 }
1238
1239 // WantIP6MfibStatsReply represents the VPP binary API message 'want_ip6_mfib_stats_reply'.
1240 // Generated from 'stats.api.json', line 402:
1241 //
1242 //            "want_ip6_mfib_stats_reply",
1243 //            [
1244 //                "u16",
1245 //                "_vl_msg_id"
1246 //            ],
1247 //            [
1248 //                "u32",
1249 //                "context"
1250 //            ],
1251 //            [
1252 //                "i32",
1253 //                "retval"
1254 //            ],
1255 //            {
1256 //                "crc": "0xe8d4e804"
1257 //            }
1258 //
1259 type WantIP6MfibStatsReply struct {
1260         Retval int32
1261 }
1262
1263 func (*WantIP6MfibStatsReply) GetMessageName() string {
1264         return "want_ip6_mfib_stats_reply"
1265 }
1266 func (*WantIP6MfibStatsReply) GetCrcString() string {
1267         return "e8d4e804"
1268 }
1269 func (*WantIP6MfibStatsReply) GetMessageType() api.MessageType {
1270         return api.ReplyMessage
1271 }
1272 func NewWantIP6MfibStatsReply() api.Message {
1273         return &WantIP6MfibStatsReply{}
1274 }
1275
1276 // WantIP4NbrStats represents the VPP binary API message 'want_ip4_nbr_stats'.
1277 // Generated from 'stats.api.json', line 420:
1278 //
1279 //            "want_ip4_nbr_stats",
1280 //            [
1281 //                "u16",
1282 //                "_vl_msg_id"
1283 //            ],
1284 //            [
1285 //                "u32",
1286 //                "client_index"
1287 //            ],
1288 //            [
1289 //                "u32",
1290 //                "context"
1291 //            ],
1292 //            [
1293 //                "u32",
1294 //                "enable_disable"
1295 //            ],
1296 //            [
1297 //                "u32",
1298 //                "pid"
1299 //            ],
1300 //            {
1301 //                "crc": "0x476f5a08"
1302 //            }
1303 //
1304 type WantIP4NbrStats struct {
1305         EnableDisable uint32
1306         PID           uint32
1307 }
1308
1309 func (*WantIP4NbrStats) GetMessageName() string {
1310         return "want_ip4_nbr_stats"
1311 }
1312 func (*WantIP4NbrStats) GetCrcString() string {
1313         return "476f5a08"
1314 }
1315 func (*WantIP4NbrStats) GetMessageType() api.MessageType {
1316         return api.RequestMessage
1317 }
1318 func NewWantIP4NbrStats() api.Message {
1319         return &WantIP4NbrStats{}
1320 }
1321
1322 // WantIP4NbrStatsReply represents the VPP binary API message 'want_ip4_nbr_stats_reply'.
1323 // Generated from 'stats.api.json', line 446:
1324 //
1325 //            "want_ip4_nbr_stats_reply",
1326 //            [
1327 //                "u16",
1328 //                "_vl_msg_id"
1329 //            ],
1330 //            [
1331 //                "u32",
1332 //                "context"
1333 //            ],
1334 //            [
1335 //                "i32",
1336 //                "retval"
1337 //            ],
1338 //            {
1339 //                "crc": "0xe8d4e804"
1340 //            }
1341 //
1342 type WantIP4NbrStatsReply struct {
1343         Retval int32
1344 }
1345
1346 func (*WantIP4NbrStatsReply) GetMessageName() string {
1347         return "want_ip4_nbr_stats_reply"
1348 }
1349 func (*WantIP4NbrStatsReply) GetCrcString() string {
1350         return "e8d4e804"
1351 }
1352 func (*WantIP4NbrStatsReply) GetMessageType() api.MessageType {
1353         return api.ReplyMessage
1354 }
1355 func NewWantIP4NbrStatsReply() api.Message {
1356         return &WantIP4NbrStatsReply{}
1357 }
1358
1359 // WantIP6NbrStats represents the VPP binary API message 'want_ip6_nbr_stats'.
1360 // Generated from 'stats.api.json', line 464:
1361 //
1362 //            "want_ip6_nbr_stats",
1363 //            [
1364 //                "u16",
1365 //                "_vl_msg_id"
1366 //            ],
1367 //            [
1368 //                "u32",
1369 //                "client_index"
1370 //            ],
1371 //            [
1372 //                "u32",
1373 //                "context"
1374 //            ],
1375 //            [
1376 //                "u32",
1377 //                "enable_disable"
1378 //            ],
1379 //            [
1380 //                "u32",
1381 //                "pid"
1382 //            ],
1383 //            {
1384 //                "crc": "0x476f5a08"
1385 //            }
1386 //
1387 type WantIP6NbrStats struct {
1388         EnableDisable uint32
1389         PID           uint32
1390 }
1391
1392 func (*WantIP6NbrStats) GetMessageName() string {
1393         return "want_ip6_nbr_stats"
1394 }
1395 func (*WantIP6NbrStats) GetCrcString() string {
1396         return "476f5a08"
1397 }
1398 func (*WantIP6NbrStats) GetMessageType() api.MessageType {
1399         return api.RequestMessage
1400 }
1401 func NewWantIP6NbrStats() api.Message {
1402         return &WantIP6NbrStats{}
1403 }
1404
1405 // WantIP6NbrStatsReply represents the VPP binary API message 'want_ip6_nbr_stats_reply'.
1406 // Generated from 'stats.api.json', line 490:
1407 //
1408 //            "want_ip6_nbr_stats_reply",
1409 //            [
1410 //                "u16",
1411 //                "_vl_msg_id"
1412 //            ],
1413 //            [
1414 //                "u32",
1415 //                "context"
1416 //            ],
1417 //            [
1418 //                "i32",
1419 //                "retval"
1420 //            ],
1421 //            {
1422 //                "crc": "0xe8d4e804"
1423 //            }
1424 //
1425 type WantIP6NbrStatsReply struct {
1426         Retval int32
1427 }
1428
1429 func (*WantIP6NbrStatsReply) GetMessageName() string {
1430         return "want_ip6_nbr_stats_reply"
1431 }
1432 func (*WantIP6NbrStatsReply) GetCrcString() string {
1433         return "e8d4e804"
1434 }
1435 func (*WantIP6NbrStatsReply) GetMessageType() api.MessageType {
1436         return api.ReplyMessage
1437 }
1438 func NewWantIP6NbrStatsReply() api.Message {
1439         return &WantIP6NbrStatsReply{}
1440 }
1441
1442 // VnetIP4FibCounters represents the VPP binary API message 'vnet_ip4_fib_counters'.
1443 // Generated from 'stats.api.json', line 508:
1444 //
1445 //            "vnet_ip4_fib_counters",
1446 //            [
1447 //                "u16",
1448 //                "_vl_msg_id"
1449 //            ],
1450 //            [
1451 //                "u32",
1452 //                "vrf_id"
1453 //            ],
1454 //            [
1455 //                "u32",
1456 //                "count"
1457 //            ],
1458 //            [
1459 //                "vl_api_ip4_fib_counter_t",
1460 //                "c",
1461 //                0,
1462 //                "count"
1463 //            ],
1464 //            {
1465 //                "crc": "0x57e3feec"
1466 //            }
1467 //
1468 type VnetIP4FibCounters struct {
1469         VrfID uint32
1470         Count uint32 `struc:"sizeof=C"`
1471         C     []IP4FibCounter
1472 }
1473
1474 func (*VnetIP4FibCounters) GetMessageName() string {
1475         return "vnet_ip4_fib_counters"
1476 }
1477 func (*VnetIP4FibCounters) GetCrcString() string {
1478         return "57e3feec"
1479 }
1480 func (*VnetIP4FibCounters) GetMessageType() api.MessageType {
1481         return api.OtherMessage
1482 }
1483 func NewVnetIP4FibCounters() api.Message {
1484         return &VnetIP4FibCounters{}
1485 }
1486
1487 // VnetIP4MfibCounters represents the VPP binary API message 'vnet_ip4_mfib_counters'.
1488 // Generated from 'stats.api.json', line 532:
1489 //
1490 //            "vnet_ip4_mfib_counters",
1491 //            [
1492 //                "u16",
1493 //                "_vl_msg_id"
1494 //            ],
1495 //            [
1496 //                "u32",
1497 //                "vrf_id"
1498 //            ],
1499 //            [
1500 //                "u32",
1501 //                "count"
1502 //            ],
1503 //            [
1504 //                "vl_api_ip4_mfib_counter_t",
1505 //                "c",
1506 //                0,
1507 //                "count"
1508 //            ],
1509 //            {
1510 //                "crc": "0x946eb588"
1511 //            }
1512 //
1513 type VnetIP4MfibCounters struct {
1514         VrfID uint32
1515         Count uint32 `struc:"sizeof=C"`
1516         C     []IP4MfibCounter
1517 }
1518
1519 func (*VnetIP4MfibCounters) GetMessageName() string {
1520         return "vnet_ip4_mfib_counters"
1521 }
1522 func (*VnetIP4MfibCounters) GetCrcString() string {
1523         return "946eb588"
1524 }
1525 func (*VnetIP4MfibCounters) GetMessageType() api.MessageType {
1526         return api.OtherMessage
1527 }
1528 func NewVnetIP4MfibCounters() api.Message {
1529         return &VnetIP4MfibCounters{}
1530 }
1531
1532 // VnetIP4NbrCounters represents the VPP binary API message 'vnet_ip4_nbr_counters'.
1533 // Generated from 'stats.api.json', line 556:
1534 //
1535 //            "vnet_ip4_nbr_counters",
1536 //            [
1537 //                "u16",
1538 //                "_vl_msg_id"
1539 //            ],
1540 //            [
1541 //                "u32",
1542 //                "count"
1543 //            ],
1544 //            [
1545 //                "u32",
1546 //                "sw_if_index"
1547 //            ],
1548 //            [
1549 //                "u8",
1550 //                "begin"
1551 //            ],
1552 //            [
1553 //                "vl_api_ip4_nbr_counter_t",
1554 //                "c",
1555 //                0,
1556 //                "count"
1557 //            ],
1558 //            {
1559 //                "crc": "0x214c4811"
1560 //            }
1561 //
1562 type VnetIP4NbrCounters struct {
1563         Count     uint32 `struc:"sizeof=C"`
1564         SwIfIndex uint32
1565         Begin     uint8
1566         C         []IP4NbrCounter
1567 }
1568
1569 func (*VnetIP4NbrCounters) GetMessageName() string {
1570         return "vnet_ip4_nbr_counters"
1571 }
1572 func (*VnetIP4NbrCounters) GetCrcString() string {
1573         return "214c4811"
1574 }
1575 func (*VnetIP4NbrCounters) GetMessageType() api.MessageType {
1576         return api.OtherMessage
1577 }
1578 func NewVnetIP4NbrCounters() api.Message {
1579         return &VnetIP4NbrCounters{}
1580 }
1581
1582 // VnetIP6FibCounters represents the VPP binary API message 'vnet_ip6_fib_counters'.
1583 // Generated from 'stats.api.json', line 584:
1584 //
1585 //            "vnet_ip6_fib_counters",
1586 //            [
1587 //                "u16",
1588 //                "_vl_msg_id"
1589 //            ],
1590 //            [
1591 //                "u32",
1592 //                "vrf_id"
1593 //            ],
1594 //            [
1595 //                "u32",
1596 //                "count"
1597 //            ],
1598 //            [
1599 //                "vl_api_ip6_fib_counter_t",
1600 //                "c",
1601 //                0,
1602 //                "count"
1603 //            ],
1604 //            {
1605 //                "crc": "0x13aed73d"
1606 //            }
1607 //
1608 type VnetIP6FibCounters struct {
1609         VrfID uint32
1610         Count uint32 `struc:"sizeof=C"`
1611         C     []IP6FibCounter
1612 }
1613
1614 func (*VnetIP6FibCounters) GetMessageName() string {
1615         return "vnet_ip6_fib_counters"
1616 }
1617 func (*VnetIP6FibCounters) GetCrcString() string {
1618         return "13aed73d"
1619 }
1620 func (*VnetIP6FibCounters) GetMessageType() api.MessageType {
1621         return api.OtherMessage
1622 }
1623 func NewVnetIP6FibCounters() api.Message {
1624         return &VnetIP6FibCounters{}
1625 }
1626
1627 // VnetIP6MfibCounters represents the VPP binary API message 'vnet_ip6_mfib_counters'.
1628 // Generated from 'stats.api.json', line 608:
1629 //
1630 //            "vnet_ip6_mfib_counters",
1631 //            [
1632 //                "u16",
1633 //                "_vl_msg_id"
1634 //            ],
1635 //            [
1636 //                "u32",
1637 //                "vrf_id"
1638 //            ],
1639 //            [
1640 //                "u32",
1641 //                "count"
1642 //            ],
1643 //            [
1644 //                "vl_api_ip6_mfib_counter_t",
1645 //                "c",
1646 //                0,
1647 //                "count"
1648 //            ],
1649 //            {
1650 //                "crc": "0x65fe1ae3"
1651 //            }
1652 //
1653 type VnetIP6MfibCounters struct {
1654         VrfID uint32
1655         Count uint32 `struc:"sizeof=C"`
1656         C     []IP6MfibCounter
1657 }
1658
1659 func (*VnetIP6MfibCounters) GetMessageName() string {
1660         return "vnet_ip6_mfib_counters"
1661 }
1662 func (*VnetIP6MfibCounters) GetCrcString() string {
1663         return "65fe1ae3"
1664 }
1665 func (*VnetIP6MfibCounters) GetMessageType() api.MessageType {
1666         return api.OtherMessage
1667 }
1668 func NewVnetIP6MfibCounters() api.Message {
1669         return &VnetIP6MfibCounters{}
1670 }
1671
1672 // VnetIP6NbrCounters represents the VPP binary API message 'vnet_ip6_nbr_counters'.
1673 // Generated from 'stats.api.json', line 632:
1674 //
1675 //            "vnet_ip6_nbr_counters",
1676 //            [
1677 //                "u16",
1678 //                "_vl_msg_id"
1679 //            ],
1680 //            [
1681 //                "u32",
1682 //                "count"
1683 //            ],
1684 //            [
1685 //                "u32",
1686 //                "sw_if_index"
1687 //            ],
1688 //            [
1689 //                "u8",
1690 //                "begin"
1691 //            ],
1692 //            [
1693 //                "vl_api_ip6_nbr_counter_t",
1694 //                "c",
1695 //                0,
1696 //                "count"
1697 //            ],
1698 //            {
1699 //                "crc": "0x650161c0"
1700 //            }
1701 //
1702 type VnetIP6NbrCounters struct {
1703         Count     uint32 `struc:"sizeof=C"`
1704         SwIfIndex uint32
1705         Begin     uint8
1706         C         []IP6NbrCounter
1707 }
1708
1709 func (*VnetIP6NbrCounters) GetMessageName() string {
1710         return "vnet_ip6_nbr_counters"
1711 }
1712 func (*VnetIP6NbrCounters) GetCrcString() string {
1713         return "650161c0"
1714 }
1715 func (*VnetIP6NbrCounters) GetMessageType() api.MessageType {
1716         return api.OtherMessage
1717 }
1718 func NewVnetIP6NbrCounters() api.Message {
1719         return &VnetIP6NbrCounters{}
1720 }
1721
1722 // VnetInterfaceSimpleCounters represents the VPP binary API message 'vnet_interface_simple_counters'.
1723 // Generated from 'stats.api.json', line 660:
1724 //
1725 //            "vnet_interface_simple_counters",
1726 //            [
1727 //                "u16",
1728 //                "_vl_msg_id"
1729 //            ],
1730 //            [
1731 //                "u8",
1732 //                "vnet_counter_type"
1733 //            ],
1734 //            [
1735 //                "u32",
1736 //                "first_sw_if_index"
1737 //            ],
1738 //            [
1739 //                "u32",
1740 //                "count"
1741 //            ],
1742 //            [
1743 //                "u64",
1744 //                "data",
1745 //                0,
1746 //                "count"
1747 //            ],
1748 //            {
1749 //                "crc": "0x9bc4a808"
1750 //            }
1751 //
1752 type VnetInterfaceSimpleCounters struct {
1753         VnetCounterType uint8
1754         FirstSwIfIndex  uint32
1755         Count           uint32 `struc:"sizeof=Data"`
1756         Data            []uint64
1757 }
1758
1759 func (*VnetInterfaceSimpleCounters) GetMessageName() string {
1760         return "vnet_interface_simple_counters"
1761 }
1762 func (*VnetInterfaceSimpleCounters) GetCrcString() string {
1763         return "9bc4a808"
1764 }
1765 func (*VnetInterfaceSimpleCounters) GetMessageType() api.MessageType {
1766         return api.OtherMessage
1767 }
1768 func NewVnetInterfaceSimpleCounters() api.Message {
1769         return &VnetInterfaceSimpleCounters{}
1770 }
1771
1772 // VnetInterfaceCombinedCounters represents the VPP binary API message 'vnet_interface_combined_counters'.
1773 // Generated from 'stats.api.json', line 688:
1774 //
1775 //            "vnet_interface_combined_counters",
1776 //            [
1777 //                "u16",
1778 //                "_vl_msg_id"
1779 //            ],
1780 //            [
1781 //                "u8",
1782 //                "vnet_counter_type"
1783 //            ],
1784 //            [
1785 //                "u32",
1786 //                "first_sw_if_index"
1787 //            ],
1788 //            [
1789 //                "u32",
1790 //                "count"
1791 //            ],
1792 //            [
1793 //                "vl_api_vlib_counter_t",
1794 //                "data",
1795 //                0,
1796 //                "count"
1797 //            ],
1798 //            {
1799 //                "crc": "0x2c595002"
1800 //            }
1801 //
1802 type VnetInterfaceCombinedCounters struct {
1803         VnetCounterType uint8
1804         FirstSwIfIndex  uint32
1805         Count           uint32 `struc:"sizeof=Data"`
1806         Data            []VlibCounter
1807 }
1808
1809 func (*VnetInterfaceCombinedCounters) GetMessageName() string {
1810         return "vnet_interface_combined_counters"
1811 }
1812 func (*VnetInterfaceCombinedCounters) GetCrcString() string {
1813         return "2c595002"
1814 }
1815 func (*VnetInterfaceCombinedCounters) GetMessageType() api.MessageType {
1816         return api.OtherMessage
1817 }
1818 func NewVnetInterfaceCombinedCounters() api.Message {
1819         return &VnetInterfaceCombinedCounters{}
1820 }
1821
1822 // VnetPerInterfaceSimpleCounters represents the VPP binary API message 'vnet_per_interface_simple_counters'.
1823 // Generated from 'stats.api.json', line 716:
1824 //
1825 //            "vnet_per_interface_simple_counters",
1826 //            [
1827 //                "u16",
1828 //                "_vl_msg_id"
1829 //            ],
1830 //            [
1831 //                "u32",
1832 //                "count"
1833 //            ],
1834 //            [
1835 //                "u32",
1836 //                "timestamp"
1837 //            ],
1838 //            [
1839 //                "vl_api_vnet_simple_counter_t",
1840 //                "data",
1841 //                0,
1842 //                "count"
1843 //            ],
1844 //            {
1845 //                "crc": "0xd1fba9ba"
1846 //            }
1847 //
1848 type VnetPerInterfaceSimpleCounters struct {
1849         Count     uint32 `struc:"sizeof=Data"`
1850         Timestamp uint32
1851         Data      []VnetSimpleCounter
1852 }
1853
1854 func (*VnetPerInterfaceSimpleCounters) GetMessageName() string {
1855         return "vnet_per_interface_simple_counters"
1856 }
1857 func (*VnetPerInterfaceSimpleCounters) GetCrcString() string {
1858         return "d1fba9ba"
1859 }
1860 func (*VnetPerInterfaceSimpleCounters) GetMessageType() api.MessageType {
1861         return api.OtherMessage
1862 }
1863 func NewVnetPerInterfaceSimpleCounters() api.Message {
1864         return &VnetPerInterfaceSimpleCounters{}
1865 }
1866
1867 // VnetPerInterfaceCombinedCounters represents the VPP binary API message 'vnet_per_interface_combined_counters'.
1868 // Generated from 'stats.api.json', line 740:
1869 //
1870 //            "vnet_per_interface_combined_counters",
1871 //            [
1872 //                "u16",
1873 //                "_vl_msg_id"
1874 //            ],
1875 //            [
1876 //                "u32",
1877 //                "count"
1878 //            ],
1879 //            [
1880 //                "u32",
1881 //                "timestamp"
1882 //            ],
1883 //            [
1884 //                "vl_api_vnet_combined_counter_t",
1885 //                "data",
1886 //                0,
1887 //                "count"
1888 //            ],
1889 //            {
1890 //                "crc": "0xdc578375"
1891 //            }
1892 //
1893 type VnetPerInterfaceCombinedCounters struct {
1894         Count     uint32 `struc:"sizeof=Data"`
1895         Timestamp uint32
1896         Data      []VnetCombinedCounter
1897 }
1898
1899 func (*VnetPerInterfaceCombinedCounters) GetMessageName() string {
1900         return "vnet_per_interface_combined_counters"
1901 }
1902 func (*VnetPerInterfaceCombinedCounters) GetCrcString() string {
1903         return "dc578375"
1904 }
1905 func (*VnetPerInterfaceCombinedCounters) GetMessageType() api.MessageType {
1906         return api.OtherMessage
1907 }
1908 func NewVnetPerInterfaceCombinedCounters() api.Message {
1909         return &VnetPerInterfaceCombinedCounters{}
1910 }
1911
1912 // VnetGetSummaryStats represents the VPP binary API message 'vnet_get_summary_stats'.
1913 // Generated from 'stats.api.json', line 764:
1914 //
1915 //            "vnet_get_summary_stats",
1916 //            [
1917 //                "u16",
1918 //                "_vl_msg_id"
1919 //            ],
1920 //            [
1921 //                "u32",
1922 //                "client_index"
1923 //            ],
1924 //            [
1925 //                "u32",
1926 //                "context"
1927 //            ],
1928 //            {
1929 //                "crc": "0x51077d14"
1930 //            }
1931 //
1932 type VnetGetSummaryStats struct{}
1933
1934 func (*VnetGetSummaryStats) GetMessageName() string {
1935         return "vnet_get_summary_stats"
1936 }
1937 func (*VnetGetSummaryStats) GetCrcString() string {
1938         return "51077d14"
1939 }
1940 func (*VnetGetSummaryStats) GetMessageType() api.MessageType {
1941         return api.RequestMessage
1942 }
1943 func NewVnetGetSummaryStats() api.Message {
1944         return &VnetGetSummaryStats{}
1945 }
1946
1947 // VnetGetSummaryStatsReply represents the VPP binary API message 'vnet_get_summary_stats_reply'.
1948 // Generated from 'stats.api.json', line 782:
1949 //
1950 //            "vnet_get_summary_stats_reply",
1951 //            [
1952 //                "u16",
1953 //                "_vl_msg_id"
1954 //            ],
1955 //            [
1956 //                "u32",
1957 //                "context"
1958 //            ],
1959 //            [
1960 //                "i32",
1961 //                "retval"
1962 //            ],
1963 //            [
1964 //                "u64",
1965 //                "total_pkts",
1966 //                2
1967 //            ],
1968 //            [
1969 //                "u64",
1970 //                "total_bytes",
1971 //                2
1972 //            ],
1973 //            [
1974 //                "f64",
1975 //                "vector_rate"
1976 //            ],
1977 //            {
1978 //                "crc": "0x32b87c56"
1979 //            }
1980 //
1981 type VnetGetSummaryStatsReply struct {
1982         Retval     int32
1983         TotalPkts  []uint64 `struc:"[2]uint64"`
1984         TotalBytes []uint64 `struc:"[2]uint64"`
1985         VectorRate float64
1986 }
1987
1988 func (*VnetGetSummaryStatsReply) GetMessageName() string {
1989         return "vnet_get_summary_stats_reply"
1990 }
1991 func (*VnetGetSummaryStatsReply) GetCrcString() string {
1992         return "32b87c56"
1993 }
1994 func (*VnetGetSummaryStatsReply) GetMessageType() api.MessageType {
1995         return api.ReplyMessage
1996 }
1997 func NewVnetGetSummaryStatsReply() api.Message {
1998         return &VnetGetSummaryStatsReply{}
1999 }
2000
2001 // StatsGetPollerDelay represents the VPP binary API message 'stats_get_poller_delay'.
2002 // Generated from 'stats.api.json', line 814:
2003 //
2004 //            "stats_get_poller_delay",
2005 //            [
2006 //                "u16",
2007 //                "_vl_msg_id"
2008 //            ],
2009 //            [
2010 //                "u32",
2011 //                "client_index"
2012 //            ],
2013 //            [
2014 //                "u32",
2015 //                "context"
2016 //            ],
2017 //            {
2018 //                "crc": "0x51077d14"
2019 //            }
2020 //
2021 type StatsGetPollerDelay struct{}
2022
2023 func (*StatsGetPollerDelay) GetMessageName() string {
2024         return "stats_get_poller_delay"
2025 }
2026 func (*StatsGetPollerDelay) GetCrcString() string {
2027         return "51077d14"
2028 }
2029 func (*StatsGetPollerDelay) GetMessageType() api.MessageType {
2030         return api.RequestMessage
2031 }
2032 func NewStatsGetPollerDelay() api.Message {
2033         return &StatsGetPollerDelay{}
2034 }
2035
2036 // StatsGetPollerDelayReply represents the VPP binary API message 'stats_get_poller_delay_reply'.
2037 // Generated from 'stats.api.json', line 832:
2038 //
2039 //            "stats_get_poller_delay_reply",
2040 //            [
2041 //                "u16",
2042 //                "_vl_msg_id"
2043 //            ],
2044 //            [
2045 //                "u32",
2046 //                "context"
2047 //            ],
2048 //            [
2049 //                "i32",
2050 //                "retval"
2051 //            ],
2052 //            [
2053 //                "u32",
2054 //                "delay"
2055 //            ],
2056 //            {
2057 //                "crc": "0x8c445a33"
2058 //            }
2059 //
2060 type StatsGetPollerDelayReply struct {
2061         Retval int32
2062         Delay  uint32
2063 }
2064
2065 func (*StatsGetPollerDelayReply) GetMessageName() string {
2066         return "stats_get_poller_delay_reply"
2067 }
2068 func (*StatsGetPollerDelayReply) GetCrcString() string {
2069         return "8c445a33"
2070 }
2071 func (*StatsGetPollerDelayReply) GetMessageType() api.MessageType {
2072         return api.ReplyMessage
2073 }
2074 func NewStatsGetPollerDelayReply() api.Message {
2075         return &StatsGetPollerDelayReply{}
2076 }
2077
2078 // WantUDPEncapStats represents the VPP binary API message 'want_udp_encap_stats'.
2079 // Generated from 'stats.api.json', line 854:
2080 //
2081 //            "want_udp_encap_stats",
2082 //            [
2083 //                "u16",
2084 //                "_vl_msg_id"
2085 //            ],
2086 //            [
2087 //                "u32",
2088 //                "client_index"
2089 //            ],
2090 //            [
2091 //                "u32",
2092 //                "context"
2093 //            ],
2094 //            [
2095 //                "u32",
2096 //                "enable"
2097 //            ],
2098 //            [
2099 //                "u32",
2100 //                "pid"
2101 //            ],
2102 //            {
2103 //                "crc": "0xcfaccc1f"
2104 //            }
2105 //
2106 type WantUDPEncapStats struct {
2107         Enable uint32
2108         PID    uint32
2109 }
2110
2111 func (*WantUDPEncapStats) GetMessageName() string {
2112         return "want_udp_encap_stats"
2113 }
2114 func (*WantUDPEncapStats) GetCrcString() string {
2115         return "cfaccc1f"
2116 }
2117 func (*WantUDPEncapStats) GetMessageType() api.MessageType {
2118         return api.RequestMessage
2119 }
2120 func NewWantUDPEncapStats() api.Message {
2121         return &WantUDPEncapStats{}
2122 }
2123
2124 // WantUDPEncapStatsReply represents the VPP binary API message 'want_udp_encap_stats_reply'.
2125 // Generated from 'stats.api.json', line 880:
2126 //
2127 //            "want_udp_encap_stats_reply",
2128 //            [
2129 //                "u16",
2130 //                "_vl_msg_id"
2131 //            ],
2132 //            [
2133 //                "u32",
2134 //                "context"
2135 //            ],
2136 //            [
2137 //                "i32",
2138 //                "retval"
2139 //            ],
2140 //            {
2141 //                "crc": "0xe8d4e804"
2142 //            }
2143 //
2144 type WantUDPEncapStatsReply struct {
2145         Retval int32
2146 }
2147
2148 func (*WantUDPEncapStatsReply) GetMessageName() string {
2149         return "want_udp_encap_stats_reply"
2150 }
2151 func (*WantUDPEncapStatsReply) GetCrcString() string {
2152         return "e8d4e804"
2153 }
2154 func (*WantUDPEncapStatsReply) GetMessageType() api.MessageType {
2155         return api.ReplyMessage
2156 }
2157 func NewWantUDPEncapStatsReply() api.Message {
2158         return &WantUDPEncapStatsReply{}
2159 }
2160
2161 // VnetUDPEncapCounters represents the VPP binary API message 'vnet_udp_encap_counters'.
2162 // Generated from 'stats.api.json', line 898:
2163 //
2164 //            "vnet_udp_encap_counters",
2165 //            [
2166 //                "u16",
2167 //                "_vl_msg_id"
2168 //            ],
2169 //            [
2170 //                "u32",
2171 //                "timestamp"
2172 //            ],
2173 //            [
2174 //                "u32",
2175 //                "count"
2176 //            ],
2177 //            [
2178 //                "vl_api_udp_encap_counter_t",
2179 //                "c",
2180 //                0,
2181 //                "count"
2182 //            ],
2183 //            {
2184 //                "crc": "0x1ab5e649"
2185 //            }
2186 //
2187 type VnetUDPEncapCounters struct {
2188         Timestamp uint32
2189         Count     uint32 `struc:"sizeof=C"`
2190         C         []UDPEncapCounter
2191 }
2192
2193 func (*VnetUDPEncapCounters) GetMessageName() string {
2194         return "vnet_udp_encap_counters"
2195 }
2196 func (*VnetUDPEncapCounters) GetCrcString() string {
2197         return "1ab5e649"
2198 }
2199 func (*VnetUDPEncapCounters) GetMessageType() api.MessageType {
2200         return api.OtherMessage
2201 }
2202 func NewVnetUDPEncapCounters() api.Message {
2203         return &VnetUDPEncapCounters{}
2204 }
2205
2206 /* Services */
2207
2208 type Services interface {
2209         StatsGetPollerDelay(*StatsGetPollerDelay) (*StatsGetPollerDelayReply, error)
2210         VnetGetSummaryStats(*VnetGetSummaryStats) (*VnetGetSummaryStatsReply, error)
2211         WantInterfaceCombinedStats(*WantInterfaceCombinedStats) (*WantInterfaceCombinedStatsReply, error)
2212         WantInterfaceSimpleStats(*WantInterfaceSimpleStats) (*WantInterfaceSimpleStatsReply, error)
2213         WantIP4FibStats(*WantIP4FibStats) (*WantIP4FibStatsReply, error)
2214         WantIP4MfibStats(*WantIP4MfibStats) (*WantIP4MfibStatsReply, error)
2215         WantIP4NbrStats(*WantIP4NbrStats) (*WantIP4NbrStatsReply, error)
2216         WantIP6FibStats(*WantIP6FibStats) (*WantIP6FibStatsReply, error)
2217         WantIP6MfibStats(*WantIP6MfibStats) (*WantIP6MfibStatsReply, error)
2218         WantIP6NbrStats(*WantIP6NbrStats) (*WantIP6NbrStatsReply, error)
2219         WantPerInterfaceCombinedStats(*WantPerInterfaceCombinedStats) (*WantPerInterfaceCombinedStatsReply, error)
2220         WantPerInterfaceSimpleStats(*WantPerInterfaceSimpleStats) (*WantPerInterfaceSimpleStatsReply, error)
2221         WantStats(*WantStats) (*WantStatsReply, error)
2222         WantUDPEncapStats(*WantUDPEncapStats) (*WantUDPEncapStatsReply, error)
2223 }
2224
2225 func init() {
2226         api.RegisterMessage((*WantStats)(nil), "stats.WantStats")
2227         api.RegisterMessage((*WantStatsReply)(nil), "stats.WantStatsReply")
2228         api.RegisterMessage((*WantInterfaceSimpleStats)(nil), "stats.WantInterfaceSimpleStats")
2229         api.RegisterMessage((*WantInterfaceSimpleStatsReply)(nil), "stats.WantInterfaceSimpleStatsReply")
2230         api.RegisterMessage((*WantPerInterfaceSimpleStats)(nil), "stats.WantPerInterfaceSimpleStats")
2231         api.RegisterMessage((*WantPerInterfaceSimpleStatsReply)(nil), "stats.WantPerInterfaceSimpleStatsReply")
2232         api.RegisterMessage((*WantInterfaceCombinedStats)(nil), "stats.WantInterfaceCombinedStats")
2233         api.RegisterMessage((*WantInterfaceCombinedStatsReply)(nil), "stats.WantInterfaceCombinedStatsReply")
2234         api.RegisterMessage((*WantPerInterfaceCombinedStats)(nil), "stats.WantPerInterfaceCombinedStats")
2235         api.RegisterMessage((*WantPerInterfaceCombinedStatsReply)(nil), "stats.WantPerInterfaceCombinedStatsReply")
2236         api.RegisterMessage((*WantIP4FibStats)(nil), "stats.WantIP4FibStats")
2237         api.RegisterMessage((*WantIP4FibStatsReply)(nil), "stats.WantIP4FibStatsReply")
2238         api.RegisterMessage((*WantIP6FibStats)(nil), "stats.WantIP6FibStats")
2239         api.RegisterMessage((*WantIP6FibStatsReply)(nil), "stats.WantIP6FibStatsReply")
2240         api.RegisterMessage((*WantIP4MfibStats)(nil), "stats.WantIP4MfibStats")
2241         api.RegisterMessage((*WantIP4MfibStatsReply)(nil), "stats.WantIP4MfibStatsReply")
2242         api.RegisterMessage((*WantIP6MfibStats)(nil), "stats.WantIP6MfibStats")
2243         api.RegisterMessage((*WantIP6MfibStatsReply)(nil), "stats.WantIP6MfibStatsReply")
2244         api.RegisterMessage((*WantIP4NbrStats)(nil), "stats.WantIP4NbrStats")
2245         api.RegisterMessage((*WantIP4NbrStatsReply)(nil), "stats.WantIP4NbrStatsReply")
2246         api.RegisterMessage((*WantIP6NbrStats)(nil), "stats.WantIP6NbrStats")
2247         api.RegisterMessage((*WantIP6NbrStatsReply)(nil), "stats.WantIP6NbrStatsReply")
2248         api.RegisterMessage((*VnetIP4FibCounters)(nil), "stats.VnetIP4FibCounters")
2249         api.RegisterMessage((*VnetIP4MfibCounters)(nil), "stats.VnetIP4MfibCounters")
2250         api.RegisterMessage((*VnetIP4NbrCounters)(nil), "stats.VnetIP4NbrCounters")
2251         api.RegisterMessage((*VnetIP6FibCounters)(nil), "stats.VnetIP6FibCounters")
2252         api.RegisterMessage((*VnetIP6MfibCounters)(nil), "stats.VnetIP6MfibCounters")
2253         api.RegisterMessage((*VnetIP6NbrCounters)(nil), "stats.VnetIP6NbrCounters")
2254         api.RegisterMessage((*VnetInterfaceSimpleCounters)(nil), "stats.VnetInterfaceSimpleCounters")
2255         api.RegisterMessage((*VnetInterfaceCombinedCounters)(nil), "stats.VnetInterfaceCombinedCounters")
2256         api.RegisterMessage((*VnetPerInterfaceSimpleCounters)(nil), "stats.VnetPerInterfaceSimpleCounters")
2257         api.RegisterMessage((*VnetPerInterfaceCombinedCounters)(nil), "stats.VnetPerInterfaceCombinedCounters")
2258         api.RegisterMessage((*VnetGetSummaryStats)(nil), "stats.VnetGetSummaryStats")
2259         api.RegisterMessage((*VnetGetSummaryStatsReply)(nil), "stats.VnetGetSummaryStatsReply")
2260         api.RegisterMessage((*StatsGetPollerDelay)(nil), "stats.StatsGetPollerDelay")
2261         api.RegisterMessage((*StatsGetPollerDelayReply)(nil), "stats.StatsGetPollerDelayReply")
2262         api.RegisterMessage((*WantUDPEncapStats)(nil), "stats.WantUDPEncapStats")
2263         api.RegisterMessage((*WantUDPEncapStatsReply)(nil), "stats.WantUDPEncapStatsReply")
2264         api.RegisterMessage((*VnetUDPEncapCounters)(nil), "stats.VnetUDPEncapCounters")
2265 }