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