1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.4.0-dev
5 // source: /usr/share/vpp/api/core/ip.api.json
8 Package ip contains generated code for VPP API file ip.api (3.0.1).
30 api "git.fd.io/govpp.git/api"
31 codec "git.fd.io/govpp.git/codec"
32 struc "github.com/lunixbochs/struc"
34 fib_types "git.fd.io/govpp.git/examples/binapi/fib_types"
35 interface_types "git.fd.io/govpp.git/examples/binapi/interface_types"
38 // This is a compile-time assertion to ensure that this generated file
39 // is compatible with the GoVPP api package it is being compiled against.
40 // A compilation error at this line likely means your copy of the
41 // GoVPP api package needs to be updated.
42 const _ = api.GoVppAPIPackageIsVersion2 // please upgrade the GoVPP api package
45 // ModuleName is the name of this module.
47 // APIVersion is the API version of this module.
49 // VersionCrc is the CRC of this module.
50 VersionCrc = 0x765d74b1
53 // IPReassType represents VPP binary API enum 'ip_reass_type'.
54 type IPReassType uint32
57 IP_REASS_TYPE_FULL IPReassType = 0
58 IP_REASS_TYPE_SHALLOW_VIRTUAL IPReassType = 1
62 IPReassType_name = map[uint32]string{
63 0: "IP_REASS_TYPE_FULL",
64 1: "IP_REASS_TYPE_SHALLOW_VIRTUAL",
66 IPReassType_value = map[string]uint32{
67 "IP_REASS_TYPE_FULL": 0,
68 "IP_REASS_TYPE_SHALLOW_VIRTUAL": 1,
72 func (x IPReassType) String() string {
73 s, ok := IPReassType_name[uint32(x)]
77 return "IPReassType(" + strconv.Itoa(int(x)) + ")"
80 // MfibItfFlags represents VPP binary API enum 'mfib_itf_flags'.
81 type MfibItfFlags uint32
84 MFIB_API_ITF_FLAG_NONE MfibItfFlags = 0
85 MFIB_API_ITF_FLAG_NEGATE_SIGNAL MfibItfFlags = 1
86 MFIB_API_ITF_FLAG_ACCEPT MfibItfFlags = 2
87 MFIB_API_ITF_FLAG_FORWARD MfibItfFlags = 4
88 MFIB_API_ITF_FLAG_SIGNAL_PRESENT MfibItfFlags = 8
89 MFIB_API_ITF_FLAG_DONT_PRESERVE MfibItfFlags = 16
93 MfibItfFlags_name = map[uint32]string{
94 0: "MFIB_API_ITF_FLAG_NONE",
95 1: "MFIB_API_ITF_FLAG_NEGATE_SIGNAL",
96 2: "MFIB_API_ITF_FLAG_ACCEPT",
97 4: "MFIB_API_ITF_FLAG_FORWARD",
98 8: "MFIB_API_ITF_FLAG_SIGNAL_PRESENT",
99 16: "MFIB_API_ITF_FLAG_DONT_PRESERVE",
101 MfibItfFlags_value = map[string]uint32{
102 "MFIB_API_ITF_FLAG_NONE": 0,
103 "MFIB_API_ITF_FLAG_NEGATE_SIGNAL": 1,
104 "MFIB_API_ITF_FLAG_ACCEPT": 2,
105 "MFIB_API_ITF_FLAG_FORWARD": 4,
106 "MFIB_API_ITF_FLAG_SIGNAL_PRESENT": 8,
107 "MFIB_API_ITF_FLAG_DONT_PRESERVE": 16,
111 func (x MfibItfFlags) String() string {
112 s, ok := MfibItfFlags_name[uint32(x)]
116 return "MfibItfFlags(" + strconv.Itoa(int(x)) + ")"
119 // MacAddress represents VPP binary API alias 'mac_address'.
120 type MacAddress [6]uint8
122 func ParseMAC(mac string) (parsed MacAddress, err error) {
123 var hw net.HardwareAddr
124 if hw, err = net.ParseMAC(mac); err != nil {
127 copy(parsed[:], hw[:])
131 func (m *MacAddress) ToString() string {
132 return net.HardwareAddr(m[:]).String()
135 // IPMroute represents VPP binary API type 'ip_mroute'.
136 type IPMroute struct {
137 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
138 EntryFlags uint32 `binapi:"u32,name=entry_flags" json:"entry_flags,omitempty"`
139 RpfID uint32 `binapi:"u32,name=rpf_id" json:"rpf_id,omitempty"`
140 Prefix fib_types.Mprefix `binapi:"mprefix,name=prefix" json:"prefix,omitempty"`
141 NPaths uint8 `binapi:"u8,name=n_paths" json:"n_paths,omitempty" struc:"sizeof=Paths"`
142 Paths []MfibPath `binapi:"mfib_path[n_paths],name=paths" json:"paths,omitempty"`
145 func (*IPMroute) GetTypeName() string { return "ip_mroute" }
147 // IPRoute represents VPP binary API type 'ip_route'.
148 type IPRoute struct {
149 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
150 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
151 Prefix fib_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
152 NPaths uint8 `binapi:"u8,name=n_paths" json:"n_paths,omitempty" struc:"sizeof=Paths"`
153 Paths []fib_types.FibPath `binapi:"fib_path[n_paths],name=paths" json:"paths,omitempty"`
156 func (*IPRoute) GetTypeName() string { return "ip_route" }
158 // IPTable represents VPP binary API type 'ip_table'.
159 type IPTable struct {
160 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
161 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
162 Name string `binapi:"string[64],name=name" json:"name,omitempty" struc:"[64]byte"`
165 func (*IPTable) GetTypeName() string { return "ip_table" }
167 // MfibPath represents VPP binary API type 'mfib_path'.
168 type MfibPath struct {
169 ItfFlags MfibItfFlags `binapi:"mfib_itf_flags,name=itf_flags" json:"itf_flags,omitempty"`
170 Path fib_types.FibPath `binapi:"fib_path,name=path" json:"path,omitempty"`
173 func (*MfibPath) GetTypeName() string { return "mfib_path" }
175 // PuntRedirect represents VPP binary API type 'punt_redirect'.
176 type PuntRedirect struct {
177 RxSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=rx_sw_if_index" json:"rx_sw_if_index,omitempty"`
178 TxSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=tx_sw_if_index" json:"tx_sw_if_index,omitempty"`
179 Nh fib_types.Address `binapi:"address,name=nh" json:"nh,omitempty"`
182 func (*PuntRedirect) GetTypeName() string { return "punt_redirect" }
184 // IoamDisable represents VPP binary API message 'ioam_disable'.
185 type IoamDisable struct {
186 ID uint16 `binapi:"u16,name=id" json:"id,omitempty"`
189 func (m *IoamDisable) Reset() { *m = IoamDisable{} }
190 func (*IoamDisable) GetMessageName() string { return "ioam_disable" }
191 func (*IoamDisable) GetCrcString() string { return "6b16a45e" }
192 func (*IoamDisable) GetMessageType() api.MessageType { return api.RequestMessage }
194 func (m *IoamDisable) Size() int {
203 func (m *IoamDisable) Marshal(b []byte) ([]byte, error) {
204 o := binary.BigEndian
210 buf = make([]byte, m.Size())
215 o.PutUint16(buf[pos:pos+2], uint16(m.ID))
219 func (m *IoamDisable) Unmarshal(tmp []byte) error {
220 o := binary.BigEndian
225 m.ID = uint16(o.Uint16(tmp[pos : pos+2]))
230 // IoamDisableReply represents VPP binary API message 'ioam_disable_reply'.
231 type IoamDisableReply struct {
232 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
235 func (m *IoamDisableReply) Reset() { *m = IoamDisableReply{} }
236 func (*IoamDisableReply) GetMessageName() string { return "ioam_disable_reply" }
237 func (*IoamDisableReply) GetCrcString() string { return "e8d4e804" }
238 func (*IoamDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
240 func (m *IoamDisableReply) Size() int {
249 func (m *IoamDisableReply) Marshal(b []byte) ([]byte, error) {
250 o := binary.BigEndian
256 buf = make([]byte, m.Size())
261 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
265 func (m *IoamDisableReply) Unmarshal(tmp []byte) error {
266 o := binary.BigEndian
271 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
276 // IoamEnable represents VPP binary API message 'ioam_enable'.
277 type IoamEnable struct {
278 ID uint16 `binapi:"u16,name=id" json:"id,omitempty"`
279 Seqno bool `binapi:"bool,name=seqno" json:"seqno,omitempty"`
280 Analyse bool `binapi:"bool,name=analyse" json:"analyse,omitempty"`
281 PotEnable bool `binapi:"bool,name=pot_enable" json:"pot_enable,omitempty"`
282 TraceEnable bool `binapi:"bool,name=trace_enable" json:"trace_enable,omitempty"`
283 NodeID uint32 `binapi:"u32,name=node_id" json:"node_id,omitempty"`
286 func (m *IoamEnable) Reset() { *m = IoamEnable{} }
287 func (*IoamEnable) GetMessageName() string { return "ioam_enable" }
288 func (*IoamEnable) GetCrcString() string { return "51ccd868" }
289 func (*IoamEnable) GetMessageType() api.MessageType { return api.RequestMessage }
291 func (m *IoamEnable) Size() int {
300 // field[1] m.Analyse
302 // field[1] m.PotEnable
304 // field[1] m.TraceEnable
310 func (m *IoamEnable) Marshal(b []byte) ([]byte, error) {
311 o := binary.BigEndian
317 buf = make([]byte, m.Size())
322 o.PutUint16(buf[pos:pos+2], uint16(m.ID))
329 // field[1] m.Analyse
334 // field[1] m.PotEnable
339 // field[1] m.TraceEnable
345 o.PutUint32(buf[pos:pos+4], uint32(m.NodeID))
349 func (m *IoamEnable) Unmarshal(tmp []byte) error {
350 o := binary.BigEndian
355 m.ID = uint16(o.Uint16(tmp[pos : pos+2]))
358 m.Seqno = tmp[pos] != 0
360 // field[1] m.Analyse
361 m.Analyse = tmp[pos] != 0
363 // field[1] m.PotEnable
364 m.PotEnable = tmp[pos] != 0
366 // field[1] m.TraceEnable
367 m.TraceEnable = tmp[pos] != 0
370 m.NodeID = uint32(o.Uint32(tmp[pos : pos+4]))
375 // IoamEnableReply represents VPP binary API message 'ioam_enable_reply'.
376 type IoamEnableReply struct {
377 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
380 func (m *IoamEnableReply) Reset() { *m = IoamEnableReply{} }
381 func (*IoamEnableReply) GetMessageName() string { return "ioam_enable_reply" }
382 func (*IoamEnableReply) GetCrcString() string { return "e8d4e804" }
383 func (*IoamEnableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
385 func (m *IoamEnableReply) Size() int {
394 func (m *IoamEnableReply) Marshal(b []byte) ([]byte, error) {
395 o := binary.BigEndian
401 buf = make([]byte, m.Size())
406 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
410 func (m *IoamEnableReply) Unmarshal(tmp []byte) error {
411 o := binary.BigEndian
416 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
421 // IPAddressDetails represents VPP binary API message 'ip_address_details'.
422 type IPAddressDetails struct {
423 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
424 Prefix fib_types.AddressWithPrefix `binapi:"address_with_prefix,name=prefix" json:"prefix,omitempty"`
427 func (m *IPAddressDetails) Reset() { *m = IPAddressDetails{} }
428 func (*IPAddressDetails) GetMessageName() string { return "ip_address_details" }
429 func (*IPAddressDetails) GetCrcString() string { return "b1199745" }
430 func (*IPAddressDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
432 func (m *IPAddressDetails) Size() int {
437 // field[1] m.SwIfIndex
440 // field[2] m.Prefix.Address
441 // field[3] m.Prefix.Address.Af
443 // field[3] m.Prefix.Address.Un
445 // field[2] m.Prefix.Len
449 func (m *IPAddressDetails) Marshal(b []byte) ([]byte, error) {
450 o := binary.BigEndian
456 buf = make([]byte, m.Size())
460 // field[1] m.SwIfIndex
461 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
464 // field[2] m.Prefix.Address
465 // field[3] m.Prefix.Address.Af
466 buf[pos] = uint8(m.Prefix.Address.Af)
468 // field[3] m.Prefix.Address.Un
469 copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
471 // field[2] m.Prefix.Len
472 buf[pos] = uint8(m.Prefix.Len)
476 func (m *IPAddressDetails) Unmarshal(tmp []byte) error {
477 o := binary.BigEndian
481 // field[1] m.SwIfIndex
482 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
485 // field[2] m.Prefix.Address
486 // field[3] m.Prefix.Address.Af
487 m.Prefix.Address.Af = fib_types.AddressFamily(tmp[pos])
489 // field[3] m.Prefix.Address.Un
490 copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
492 // field[2] m.Prefix.Len
493 m.Prefix.Len = uint8(tmp[pos])
498 // IPAddressDump represents VPP binary API message 'ip_address_dump'.
499 type IPAddressDump struct {
500 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
501 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
504 func (m *IPAddressDump) Reset() { *m = IPAddressDump{} }
505 func (*IPAddressDump) GetMessageName() string { return "ip_address_dump" }
506 func (*IPAddressDump) GetCrcString() string { return "2d033de4" }
507 func (*IPAddressDump) GetMessageType() api.MessageType { return api.RequestMessage }
509 func (m *IPAddressDump) Size() int {
514 // field[1] m.SwIfIndex
520 func (m *IPAddressDump) Marshal(b []byte) ([]byte, error) {
521 o := binary.BigEndian
527 buf = make([]byte, m.Size())
531 // field[1] m.SwIfIndex
532 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
541 func (m *IPAddressDump) Unmarshal(tmp []byte) error {
542 o := binary.BigEndian
546 // field[1] m.SwIfIndex
547 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
550 m.IsIPv6 = tmp[pos] != 0
555 // IPContainerProxyAddDel represents VPP binary API message 'ip_container_proxy_add_del'.
556 type IPContainerProxyAddDel struct {
557 Pfx fib_types.Prefix `binapi:"prefix,name=pfx" json:"pfx,omitempty"`
558 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
559 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
562 func (m *IPContainerProxyAddDel) Reset() { *m = IPContainerProxyAddDel{} }
563 func (*IPContainerProxyAddDel) GetMessageName() string { return "ip_container_proxy_add_del" }
564 func (*IPContainerProxyAddDel) GetCrcString() string { return "91189f40" }
565 func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
567 func (m *IPContainerProxyAddDel) Size() int {
573 // field[2] m.Pfx.Address
574 // field[3] m.Pfx.Address.Af
576 // field[3] m.Pfx.Address.Un
578 // field[2] m.Pfx.Len
580 // field[1] m.SwIfIndex
586 func (m *IPContainerProxyAddDel) Marshal(b []byte) ([]byte, error) {
587 o := binary.BigEndian
593 buf = make([]byte, m.Size())
598 // field[2] m.Pfx.Address
599 // field[3] m.Pfx.Address.Af
600 buf[pos] = uint8(m.Pfx.Address.Af)
602 // field[3] m.Pfx.Address.Un
603 copy(buf[pos:pos+16], m.Pfx.Address.Un.XXX_UnionData[:])
605 // field[2] m.Pfx.Len
606 buf[pos] = uint8(m.Pfx.Len)
608 // field[1] m.SwIfIndex
609 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
618 func (m *IPContainerProxyAddDel) Unmarshal(tmp []byte) error {
619 o := binary.BigEndian
624 // field[2] m.Pfx.Address
625 // field[3] m.Pfx.Address.Af
626 m.Pfx.Address.Af = fib_types.AddressFamily(tmp[pos])
628 // field[3] m.Pfx.Address.Un
629 copy(m.Pfx.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
631 // field[2] m.Pfx.Len
632 m.Pfx.Len = uint8(tmp[pos])
634 // field[1] m.SwIfIndex
635 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
638 m.IsAdd = tmp[pos] != 0
643 // IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply'.
644 type IPContainerProxyAddDelReply struct {
645 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
648 func (m *IPContainerProxyAddDelReply) Reset() { *m = IPContainerProxyAddDelReply{} }
649 func (*IPContainerProxyAddDelReply) GetMessageName() string {
650 return "ip_container_proxy_add_del_reply"
652 func (*IPContainerProxyAddDelReply) GetCrcString() string { return "e8d4e804" }
653 func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
655 func (m *IPContainerProxyAddDelReply) Size() int {
664 func (m *IPContainerProxyAddDelReply) Marshal(b []byte) ([]byte, error) {
665 o := binary.BigEndian
671 buf = make([]byte, m.Size())
676 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
680 func (m *IPContainerProxyAddDelReply) Unmarshal(tmp []byte) error {
681 o := binary.BigEndian
686 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
691 // IPContainerProxyDetails represents VPP binary API message 'ip_container_proxy_details'.
692 type IPContainerProxyDetails struct {
693 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
694 Prefix fib_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
697 func (m *IPContainerProxyDetails) Reset() { *m = IPContainerProxyDetails{} }
698 func (*IPContainerProxyDetails) GetMessageName() string { return "ip_container_proxy_details" }
699 func (*IPContainerProxyDetails) GetCrcString() string { return "0ee460e8" }
700 func (*IPContainerProxyDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
702 func (m *IPContainerProxyDetails) Size() int {
707 // field[1] m.SwIfIndex
710 // field[2] m.Prefix.Address
711 // field[3] m.Prefix.Address.Af
713 // field[3] m.Prefix.Address.Un
715 // field[2] m.Prefix.Len
719 func (m *IPContainerProxyDetails) Marshal(b []byte) ([]byte, error) {
720 o := binary.BigEndian
726 buf = make([]byte, m.Size())
730 // field[1] m.SwIfIndex
731 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
734 // field[2] m.Prefix.Address
735 // field[3] m.Prefix.Address.Af
736 buf[pos] = uint8(m.Prefix.Address.Af)
738 // field[3] m.Prefix.Address.Un
739 copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
741 // field[2] m.Prefix.Len
742 buf[pos] = uint8(m.Prefix.Len)
746 func (m *IPContainerProxyDetails) Unmarshal(tmp []byte) error {
747 o := binary.BigEndian
751 // field[1] m.SwIfIndex
752 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
755 // field[2] m.Prefix.Address
756 // field[3] m.Prefix.Address.Af
757 m.Prefix.Address.Af = fib_types.AddressFamily(tmp[pos])
759 // field[3] m.Prefix.Address.Un
760 copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
762 // field[2] m.Prefix.Len
763 m.Prefix.Len = uint8(tmp[pos])
768 // IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump'.
769 type IPContainerProxyDump struct{}
771 func (m *IPContainerProxyDump) Reset() { *m = IPContainerProxyDump{} }
772 func (*IPContainerProxyDump) GetMessageName() string { return "ip_container_proxy_dump" }
773 func (*IPContainerProxyDump) GetCrcString() string { return "51077d14" }
774 func (*IPContainerProxyDump) GetMessageType() api.MessageType { return api.RequestMessage }
776 func (m *IPContainerProxyDump) Size() int {
783 func (m *IPContainerProxyDump) Marshal(b []byte) ([]byte, error) {
784 o := binary.BigEndian
790 buf = make([]byte, m.Size())
796 func (m *IPContainerProxyDump) Unmarshal(tmp []byte) error {
797 o := binary.BigEndian
804 // IPDetails represents VPP binary API message 'ip_details'.
805 type IPDetails struct {
806 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
807 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
810 func (m *IPDetails) Reset() { *m = IPDetails{} }
811 func (*IPDetails) GetMessageName() string { return "ip_details" }
812 func (*IPDetails) GetCrcString() string { return "eb152d07" }
813 func (*IPDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
815 func (m *IPDetails) Size() int {
820 // field[1] m.SwIfIndex
826 func (m *IPDetails) Marshal(b []byte) ([]byte, error) {
827 o := binary.BigEndian
833 buf = make([]byte, m.Size())
837 // field[1] m.SwIfIndex
838 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
847 func (m *IPDetails) Unmarshal(tmp []byte) error {
848 o := binary.BigEndian
852 // field[1] m.SwIfIndex
853 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
856 m.IsIPv6 = tmp[pos] != 0
861 // IPDump represents VPP binary API message 'ip_dump'.
863 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
866 func (m *IPDump) Reset() { *m = IPDump{} }
867 func (*IPDump) GetMessageName() string { return "ip_dump" }
868 func (*IPDump) GetCrcString() string { return "98d231ca" }
869 func (*IPDump) GetMessageType() api.MessageType { return api.RequestMessage }
871 func (m *IPDump) Size() int {
880 func (m *IPDump) Marshal(b []byte) ([]byte, error) {
881 o := binary.BigEndian
887 buf = make([]byte, m.Size())
898 func (m *IPDump) Unmarshal(tmp []byte) error {
899 o := binary.BigEndian
904 m.IsIPv6 = tmp[pos] != 0
909 // IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del'.
910 type IPMrouteAddDel struct {
911 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
912 IsMultipath bool `binapi:"bool,name=is_multipath" json:"is_multipath,omitempty"`
913 Route IPMroute `binapi:"ip_mroute,name=route" json:"route,omitempty"`
916 func (m *IPMrouteAddDel) Reset() { *m = IPMrouteAddDel{} }
917 func (*IPMrouteAddDel) GetMessageName() string { return "ip_mroute_add_del" }
918 func (*IPMrouteAddDel) GetCrcString() string { return "f6627d17" }
919 func (*IPMrouteAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
921 func (m *IPMrouteAddDel) Size() int {
928 // field[1] m.IsMultipath
931 // field[2] m.Route.TableID
933 // field[2] m.Route.EntryFlags
935 // field[2] m.Route.RpfID
937 // field[2] m.Route.Prefix
938 // field[3] m.Route.Prefix.Af
940 // field[3] m.Route.Prefix.GrpAddressLength
942 // field[3] m.Route.Prefix.GrpAddress
944 // field[3] m.Route.Prefix.SrcAddress
946 // field[2] m.Route.NPaths
948 // field[2] m.Route.Paths
949 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
952 if j2 < len(m.Route.Paths) {
953 s2 = m.Route.Paths[j2]
955 // field[3] s2.ItfFlags
958 // field[4] s2.Path.SwIfIndex
960 // field[4] s2.Path.TableID
962 // field[4] s2.Path.RpfID
964 // field[4] s2.Path.Weight
966 // field[4] s2.Path.Preference
968 // field[4] s2.Path.Type
970 // field[4] s2.Path.Flags
972 // field[4] s2.Path.Proto
974 // field[4] s2.Path.Nh
975 // field[5] s2.Path.Nh.Address
977 // field[5] s2.Path.Nh.ViaLabel
979 // field[5] s2.Path.Nh.ObjID
981 // field[5] s2.Path.Nh.ClassifyTableIndex
983 // field[4] s2.Path.NLabels
985 // field[4] s2.Path.LabelStack
986 for j4 := 0; j4 < 16; j4++ {
987 var s4 fib_types.FibMplsLabel
989 if j4 < len(s2.Path.LabelStack) {
990 s4 = s2.Path.LabelStack[j4]
992 // field[5] s4.IsUniform
1004 func (m *IPMrouteAddDel) Marshal(b []byte) ([]byte, error) {
1005 o := binary.BigEndian
1011 buf = make([]byte, m.Size())
1020 // field[1] m.IsMultipath
1026 // field[2] m.Route.TableID
1027 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
1029 // field[2] m.Route.EntryFlags
1030 o.PutUint32(buf[pos:pos+4], uint32(m.Route.EntryFlags))
1032 // field[2] m.Route.RpfID
1033 o.PutUint32(buf[pos:pos+4], uint32(m.Route.RpfID))
1035 // field[2] m.Route.Prefix
1036 // field[3] m.Route.Prefix.Af
1037 buf[pos] = uint8(m.Route.Prefix.Af)
1039 // field[3] m.Route.Prefix.GrpAddressLength
1040 o.PutUint16(buf[pos:pos+2], uint16(m.Route.Prefix.GrpAddressLength))
1042 // field[3] m.Route.Prefix.GrpAddress
1043 copy(buf[pos:pos+16], m.Route.Prefix.GrpAddress.XXX_UnionData[:])
1045 // field[3] m.Route.Prefix.SrcAddress
1046 copy(buf[pos:pos+16], m.Route.Prefix.SrcAddress.XXX_UnionData[:])
1048 // field[2] m.Route.NPaths
1049 buf[pos] = uint8(len(m.Route.Paths))
1051 // field[2] m.Route.Paths
1052 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
1054 if j2 < len(m.Route.Paths) {
1055 v2 = m.Route.Paths[j2]
1057 // field[3] v2.ItfFlags
1058 o.PutUint32(buf[pos:pos+4], uint32(v2.ItfFlags))
1061 // field[4] v2.Path.SwIfIndex
1062 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.SwIfIndex))
1064 // field[4] v2.Path.TableID
1065 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.TableID))
1067 // field[4] v2.Path.RpfID
1068 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.RpfID))
1070 // field[4] v2.Path.Weight
1071 buf[pos] = uint8(v2.Path.Weight)
1073 // field[4] v2.Path.Preference
1074 buf[pos] = uint8(v2.Path.Preference)
1076 // field[4] v2.Path.Type
1077 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Type))
1079 // field[4] v2.Path.Flags
1080 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Flags))
1082 // field[4] v2.Path.Proto
1083 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Proto))
1085 // field[4] v2.Path.Nh
1086 // field[5] v2.Path.Nh.Address
1087 copy(buf[pos:pos+16], v2.Path.Nh.Address.XXX_UnionData[:])
1089 // field[5] v2.Path.Nh.ViaLabel
1090 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ViaLabel))
1092 // field[5] v2.Path.Nh.ObjID
1093 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ObjID))
1095 // field[5] v2.Path.Nh.ClassifyTableIndex
1096 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ClassifyTableIndex))
1098 // field[4] v2.Path.NLabels
1099 buf[pos] = uint8(v2.Path.NLabels)
1101 // field[4] v2.Path.LabelStack
1102 for j4 := 0; j4 < 16; j4++ {
1103 var v4 fib_types.FibMplsLabel
1104 if j4 < len(v2.Path.LabelStack) {
1105 v4 = v2.Path.LabelStack[j4]
1107 // field[5] v4.IsUniform
1108 buf[pos] = uint8(v4.IsUniform)
1110 // field[5] v4.Label
1111 o.PutUint32(buf[pos:pos+4], uint32(v4.Label))
1114 buf[pos] = uint8(v4.TTL)
1117 buf[pos] = uint8(v4.Exp)
1123 func (m *IPMrouteAddDel) Unmarshal(tmp []byte) error {
1124 o := binary.BigEndian
1129 m.IsAdd = tmp[pos] != 0
1131 // field[1] m.IsMultipath
1132 m.IsMultipath = tmp[pos] != 0
1135 // field[2] m.Route.TableID
1136 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1138 // field[2] m.Route.EntryFlags
1139 m.Route.EntryFlags = uint32(o.Uint32(tmp[pos : pos+4]))
1141 // field[2] m.Route.RpfID
1142 m.Route.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
1144 // field[2] m.Route.Prefix
1145 // field[3] m.Route.Prefix.Af
1146 m.Route.Prefix.Af = fib_types.AddressFamily(tmp[pos])
1148 // field[3] m.Route.Prefix.GrpAddressLength
1149 m.Route.Prefix.GrpAddressLength = uint16(o.Uint16(tmp[pos : pos+2]))
1151 // field[3] m.Route.Prefix.GrpAddress
1152 copy(m.Route.Prefix.GrpAddress.XXX_UnionData[:], tmp[pos:pos+16])
1154 // field[3] m.Route.Prefix.SrcAddress
1155 copy(m.Route.Prefix.SrcAddress.XXX_UnionData[:], tmp[pos:pos+16])
1157 // field[2] m.Route.NPaths
1158 m.Route.NPaths = uint8(tmp[pos])
1160 // field[2] m.Route.Paths
1161 m.Route.Paths = make([]MfibPath, int(m.Route.NPaths))
1162 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
1163 // field[3] m.Route.Paths[j2].ItfFlags
1164 m.Route.Paths[j2].ItfFlags = MfibItfFlags(o.Uint32(tmp[pos : pos+4]))
1166 // field[3] m.Route.Paths[j2].Path
1167 // field[4] m.Route.Paths[j2].Path.SwIfIndex
1168 m.Route.Paths[j2].Path.SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1170 // field[4] m.Route.Paths[j2].Path.TableID
1171 m.Route.Paths[j2].Path.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1173 // field[4] m.Route.Paths[j2].Path.RpfID
1174 m.Route.Paths[j2].Path.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
1176 // field[4] m.Route.Paths[j2].Path.Weight
1177 m.Route.Paths[j2].Path.Weight = uint8(tmp[pos])
1179 // field[4] m.Route.Paths[j2].Path.Preference
1180 m.Route.Paths[j2].Path.Preference = uint8(tmp[pos])
1182 // field[4] m.Route.Paths[j2].Path.Type
1183 m.Route.Paths[j2].Path.Type = fib_types.FibPathType(o.Uint32(tmp[pos : pos+4]))
1185 // field[4] m.Route.Paths[j2].Path.Flags
1186 m.Route.Paths[j2].Path.Flags = fib_types.FibPathFlags(o.Uint32(tmp[pos : pos+4]))
1188 // field[4] m.Route.Paths[j2].Path.Proto
1189 m.Route.Paths[j2].Path.Proto = fib_types.FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
1191 // field[4] m.Route.Paths[j2].Path.Nh
1192 // field[5] m.Route.Paths[j2].Path.Nh.Address
1193 copy(m.Route.Paths[j2].Path.Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
1195 // field[5] m.Route.Paths[j2].Path.Nh.ViaLabel
1196 m.Route.Paths[j2].Path.Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
1198 // field[5] m.Route.Paths[j2].Path.Nh.ObjID
1199 m.Route.Paths[j2].Path.Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
1201 // field[5] m.Route.Paths[j2].Path.Nh.ClassifyTableIndex
1202 m.Route.Paths[j2].Path.Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1204 // field[4] m.Route.Paths[j2].Path.NLabels
1205 m.Route.Paths[j2].Path.NLabels = uint8(tmp[pos])
1207 // field[4] m.Route.Paths[j2].Path.LabelStack
1208 for j4 := 0; j4 < 16; j4++ {
1209 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].IsUniform
1210 m.Route.Paths[j2].Path.LabelStack[j4].IsUniform = uint8(tmp[pos])
1212 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Label
1213 m.Route.Paths[j2].Path.LabelStack[j4].Label = uint32(o.Uint32(tmp[pos : pos+4]))
1215 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].TTL
1216 m.Route.Paths[j2].Path.LabelStack[j4].TTL = uint8(tmp[pos])
1218 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Exp
1219 m.Route.Paths[j2].Path.LabelStack[j4].Exp = uint8(tmp[pos])
1226 // IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply'.
1227 type IPMrouteAddDelReply struct {
1228 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1229 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
1232 func (m *IPMrouteAddDelReply) Reset() { *m = IPMrouteAddDelReply{} }
1233 func (*IPMrouteAddDelReply) GetMessageName() string { return "ip_mroute_add_del_reply" }
1234 func (*IPMrouteAddDelReply) GetCrcString() string { return "1992deab" }
1235 func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
1237 func (m *IPMrouteAddDelReply) Size() int {
1242 // field[1] m.Retval
1244 // field[1] m.StatsIndex
1248 func (m *IPMrouteAddDelReply) Marshal(b []byte) ([]byte, error) {
1249 o := binary.BigEndian
1255 buf = make([]byte, m.Size())
1259 // field[1] m.Retval
1260 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
1262 // field[1] m.StatsIndex
1263 o.PutUint32(buf[pos:pos+4], uint32(m.StatsIndex))
1267 func (m *IPMrouteAddDelReply) Unmarshal(tmp []byte) error {
1268 o := binary.BigEndian
1272 // field[1] m.Retval
1273 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
1275 // field[1] m.StatsIndex
1276 m.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1281 // IPMrouteDetails represents VPP binary API message 'ip_mroute_details'.
1282 type IPMrouteDetails struct {
1283 Route IPMroute `binapi:"ip_mroute,name=route" json:"route,omitempty"`
1286 func (m *IPMrouteDetails) Reset() { *m = IPMrouteDetails{} }
1287 func (*IPMrouteDetails) GetMessageName() string { return "ip_mroute_details" }
1288 func (*IPMrouteDetails) GetCrcString() string { return "c1cb4b44" }
1289 func (*IPMrouteDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
1291 func (m *IPMrouteDetails) Size() int {
1297 // field[2] m.Route.TableID
1299 // field[2] m.Route.EntryFlags
1301 // field[2] m.Route.RpfID
1303 // field[2] m.Route.Prefix
1304 // field[3] m.Route.Prefix.Af
1306 // field[3] m.Route.Prefix.GrpAddressLength
1308 // field[3] m.Route.Prefix.GrpAddress
1310 // field[3] m.Route.Prefix.SrcAddress
1312 // field[2] m.Route.NPaths
1314 // field[2] m.Route.Paths
1315 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
1318 if j2 < len(m.Route.Paths) {
1319 s2 = m.Route.Paths[j2]
1321 // field[3] s2.ItfFlags
1324 // field[4] s2.Path.SwIfIndex
1326 // field[4] s2.Path.TableID
1328 // field[4] s2.Path.RpfID
1330 // field[4] s2.Path.Weight
1332 // field[4] s2.Path.Preference
1334 // field[4] s2.Path.Type
1336 // field[4] s2.Path.Flags
1338 // field[4] s2.Path.Proto
1340 // field[4] s2.Path.Nh
1341 // field[5] s2.Path.Nh.Address
1343 // field[5] s2.Path.Nh.ViaLabel
1345 // field[5] s2.Path.Nh.ObjID
1347 // field[5] s2.Path.Nh.ClassifyTableIndex
1349 // field[4] s2.Path.NLabels
1351 // field[4] s2.Path.LabelStack
1352 for j4 := 0; j4 < 16; j4++ {
1353 var s4 fib_types.FibMplsLabel
1355 if j4 < len(s2.Path.LabelStack) {
1356 s4 = s2.Path.LabelStack[j4]
1358 // field[5] s4.IsUniform
1360 // field[5] s4.Label
1370 func (m *IPMrouteDetails) Marshal(b []byte) ([]byte, error) {
1371 o := binary.BigEndian
1377 buf = make([]byte, m.Size())
1382 // field[2] m.Route.TableID
1383 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
1385 // field[2] m.Route.EntryFlags
1386 o.PutUint32(buf[pos:pos+4], uint32(m.Route.EntryFlags))
1388 // field[2] m.Route.RpfID
1389 o.PutUint32(buf[pos:pos+4], uint32(m.Route.RpfID))
1391 // field[2] m.Route.Prefix
1392 // field[3] m.Route.Prefix.Af
1393 buf[pos] = uint8(m.Route.Prefix.Af)
1395 // field[3] m.Route.Prefix.GrpAddressLength
1396 o.PutUint16(buf[pos:pos+2], uint16(m.Route.Prefix.GrpAddressLength))
1398 // field[3] m.Route.Prefix.GrpAddress
1399 copy(buf[pos:pos+16], m.Route.Prefix.GrpAddress.XXX_UnionData[:])
1401 // field[3] m.Route.Prefix.SrcAddress
1402 copy(buf[pos:pos+16], m.Route.Prefix.SrcAddress.XXX_UnionData[:])
1404 // field[2] m.Route.NPaths
1405 buf[pos] = uint8(len(m.Route.Paths))
1407 // field[2] m.Route.Paths
1408 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
1410 if j2 < len(m.Route.Paths) {
1411 v2 = m.Route.Paths[j2]
1413 // field[3] v2.ItfFlags
1414 o.PutUint32(buf[pos:pos+4], uint32(v2.ItfFlags))
1417 // field[4] v2.Path.SwIfIndex
1418 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.SwIfIndex))
1420 // field[4] v2.Path.TableID
1421 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.TableID))
1423 // field[4] v2.Path.RpfID
1424 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.RpfID))
1426 // field[4] v2.Path.Weight
1427 buf[pos] = uint8(v2.Path.Weight)
1429 // field[4] v2.Path.Preference
1430 buf[pos] = uint8(v2.Path.Preference)
1432 // field[4] v2.Path.Type
1433 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Type))
1435 // field[4] v2.Path.Flags
1436 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Flags))
1438 // field[4] v2.Path.Proto
1439 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Proto))
1441 // field[4] v2.Path.Nh
1442 // field[5] v2.Path.Nh.Address
1443 copy(buf[pos:pos+16], v2.Path.Nh.Address.XXX_UnionData[:])
1445 // field[5] v2.Path.Nh.ViaLabel
1446 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ViaLabel))
1448 // field[5] v2.Path.Nh.ObjID
1449 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ObjID))
1451 // field[5] v2.Path.Nh.ClassifyTableIndex
1452 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ClassifyTableIndex))
1454 // field[4] v2.Path.NLabels
1455 buf[pos] = uint8(v2.Path.NLabels)
1457 // field[4] v2.Path.LabelStack
1458 for j4 := 0; j4 < 16; j4++ {
1459 var v4 fib_types.FibMplsLabel
1460 if j4 < len(v2.Path.LabelStack) {
1461 v4 = v2.Path.LabelStack[j4]
1463 // field[5] v4.IsUniform
1464 buf[pos] = uint8(v4.IsUniform)
1466 // field[5] v4.Label
1467 o.PutUint32(buf[pos:pos+4], uint32(v4.Label))
1470 buf[pos] = uint8(v4.TTL)
1473 buf[pos] = uint8(v4.Exp)
1479 func (m *IPMrouteDetails) Unmarshal(tmp []byte) error {
1480 o := binary.BigEndian
1485 // field[2] m.Route.TableID
1486 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1488 // field[2] m.Route.EntryFlags
1489 m.Route.EntryFlags = uint32(o.Uint32(tmp[pos : pos+4]))
1491 // field[2] m.Route.RpfID
1492 m.Route.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
1494 // field[2] m.Route.Prefix
1495 // field[3] m.Route.Prefix.Af
1496 m.Route.Prefix.Af = fib_types.AddressFamily(tmp[pos])
1498 // field[3] m.Route.Prefix.GrpAddressLength
1499 m.Route.Prefix.GrpAddressLength = uint16(o.Uint16(tmp[pos : pos+2]))
1501 // field[3] m.Route.Prefix.GrpAddress
1502 copy(m.Route.Prefix.GrpAddress.XXX_UnionData[:], tmp[pos:pos+16])
1504 // field[3] m.Route.Prefix.SrcAddress
1505 copy(m.Route.Prefix.SrcAddress.XXX_UnionData[:], tmp[pos:pos+16])
1507 // field[2] m.Route.NPaths
1508 m.Route.NPaths = uint8(tmp[pos])
1510 // field[2] m.Route.Paths
1511 m.Route.Paths = make([]MfibPath, int(m.Route.NPaths))
1512 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
1513 // field[3] m.Route.Paths[j2].ItfFlags
1514 m.Route.Paths[j2].ItfFlags = MfibItfFlags(o.Uint32(tmp[pos : pos+4]))
1516 // field[3] m.Route.Paths[j2].Path
1517 // field[4] m.Route.Paths[j2].Path.SwIfIndex
1518 m.Route.Paths[j2].Path.SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1520 // field[4] m.Route.Paths[j2].Path.TableID
1521 m.Route.Paths[j2].Path.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1523 // field[4] m.Route.Paths[j2].Path.RpfID
1524 m.Route.Paths[j2].Path.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
1526 // field[4] m.Route.Paths[j2].Path.Weight
1527 m.Route.Paths[j2].Path.Weight = uint8(tmp[pos])
1529 // field[4] m.Route.Paths[j2].Path.Preference
1530 m.Route.Paths[j2].Path.Preference = uint8(tmp[pos])
1532 // field[4] m.Route.Paths[j2].Path.Type
1533 m.Route.Paths[j2].Path.Type = fib_types.FibPathType(o.Uint32(tmp[pos : pos+4]))
1535 // field[4] m.Route.Paths[j2].Path.Flags
1536 m.Route.Paths[j2].Path.Flags = fib_types.FibPathFlags(o.Uint32(tmp[pos : pos+4]))
1538 // field[4] m.Route.Paths[j2].Path.Proto
1539 m.Route.Paths[j2].Path.Proto = fib_types.FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
1541 // field[4] m.Route.Paths[j2].Path.Nh
1542 // field[5] m.Route.Paths[j2].Path.Nh.Address
1543 copy(m.Route.Paths[j2].Path.Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
1545 // field[5] m.Route.Paths[j2].Path.Nh.ViaLabel
1546 m.Route.Paths[j2].Path.Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
1548 // field[5] m.Route.Paths[j2].Path.Nh.ObjID
1549 m.Route.Paths[j2].Path.Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
1551 // field[5] m.Route.Paths[j2].Path.Nh.ClassifyTableIndex
1552 m.Route.Paths[j2].Path.Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1554 // field[4] m.Route.Paths[j2].Path.NLabels
1555 m.Route.Paths[j2].Path.NLabels = uint8(tmp[pos])
1557 // field[4] m.Route.Paths[j2].Path.LabelStack
1558 for j4 := 0; j4 < 16; j4++ {
1559 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].IsUniform
1560 m.Route.Paths[j2].Path.LabelStack[j4].IsUniform = uint8(tmp[pos])
1562 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Label
1563 m.Route.Paths[j2].Path.LabelStack[j4].Label = uint32(o.Uint32(tmp[pos : pos+4]))
1565 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].TTL
1566 m.Route.Paths[j2].Path.LabelStack[j4].TTL = uint8(tmp[pos])
1568 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Exp
1569 m.Route.Paths[j2].Path.LabelStack[j4].Exp = uint8(tmp[pos])
1576 // IPMrouteDump represents VPP binary API message 'ip_mroute_dump'.
1577 type IPMrouteDump struct {
1578 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
1581 func (m *IPMrouteDump) Reset() { *m = IPMrouteDump{} }
1582 func (*IPMrouteDump) GetMessageName() string { return "ip_mroute_dump" }
1583 func (*IPMrouteDump) GetCrcString() string { return "b9d2e09e" }
1584 func (*IPMrouteDump) GetMessageType() api.MessageType { return api.RequestMessage }
1586 func (m *IPMrouteDump) Size() int {
1592 // field[2] m.Table.TableID
1594 // field[2] m.Table.IsIP6
1596 // field[2] m.Table.Name
1600 func (m *IPMrouteDump) Marshal(b []byte) ([]byte, error) {
1601 o := binary.BigEndian
1607 buf = make([]byte, m.Size())
1612 // field[2] m.Table.TableID
1613 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
1615 // field[2] m.Table.IsIP6
1620 // field[2] m.Table.Name
1621 copy(buf[pos:pos+64], m.Table.Name)
1625 func (m *IPMrouteDump) Unmarshal(tmp []byte) error {
1626 o := binary.BigEndian
1631 // field[2] m.Table.TableID
1632 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1634 // field[2] m.Table.IsIP6
1635 m.Table.IsIP6 = tmp[pos] != 0
1637 // field[2] m.Table.Name
1639 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
1640 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
1646 // IPMtableDetails represents VPP binary API message 'ip_mtable_details'.
1647 type IPMtableDetails struct {
1648 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
1651 func (m *IPMtableDetails) Reset() { *m = IPMtableDetails{} }
1652 func (*IPMtableDetails) GetMessageName() string { return "ip_mtable_details" }
1653 func (*IPMtableDetails) GetCrcString() string { return "b9d2e09e" }
1654 func (*IPMtableDetails) GetMessageType() api.MessageType { return api.RequestMessage }
1656 func (m *IPMtableDetails) Size() int {
1662 // field[2] m.Table.TableID
1664 // field[2] m.Table.IsIP6
1666 // field[2] m.Table.Name
1670 func (m *IPMtableDetails) Marshal(b []byte) ([]byte, error) {
1671 o := binary.BigEndian
1677 buf = make([]byte, m.Size())
1682 // field[2] m.Table.TableID
1683 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
1685 // field[2] m.Table.IsIP6
1690 // field[2] m.Table.Name
1691 copy(buf[pos:pos+64], m.Table.Name)
1695 func (m *IPMtableDetails) Unmarshal(tmp []byte) error {
1696 o := binary.BigEndian
1701 // field[2] m.Table.TableID
1702 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1704 // field[2] m.Table.IsIP6
1705 m.Table.IsIP6 = tmp[pos] != 0
1707 // field[2] m.Table.Name
1709 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
1710 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
1716 // IPMtableDump represents VPP binary API message 'ip_mtable_dump'.
1717 type IPMtableDump struct{}
1719 func (m *IPMtableDump) Reset() { *m = IPMtableDump{} }
1720 func (*IPMtableDump) GetMessageName() string { return "ip_mtable_dump" }
1721 func (*IPMtableDump) GetCrcString() string { return "51077d14" }
1722 func (*IPMtableDump) GetMessageType() api.MessageType { return api.RequestMessage }
1724 func (m *IPMtableDump) Size() int {
1731 func (m *IPMtableDump) Marshal(b []byte) ([]byte, error) {
1732 o := binary.BigEndian
1738 buf = make([]byte, m.Size())
1744 func (m *IPMtableDump) Unmarshal(tmp []byte) error {
1745 o := binary.BigEndian
1752 // IPPuntPolice represents VPP binary API message 'ip_punt_police'.
1753 type IPPuntPolice struct {
1754 PolicerIndex uint32 `binapi:"u32,name=policer_index" json:"policer_index,omitempty"`
1755 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
1756 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
1759 func (m *IPPuntPolice) Reset() { *m = IPPuntPolice{} }
1760 func (*IPPuntPolice) GetMessageName() string { return "ip_punt_police" }
1761 func (*IPPuntPolice) GetCrcString() string { return "db867cea" }
1762 func (*IPPuntPolice) GetMessageType() api.MessageType { return api.RequestMessage }
1764 func (m *IPPuntPolice) Size() int {
1769 // field[1] m.PolicerIndex
1777 func (m *IPPuntPolice) Marshal(b []byte) ([]byte, error) {
1778 o := binary.BigEndian
1784 buf = make([]byte, m.Size())
1788 // field[1] m.PolicerIndex
1789 o.PutUint32(buf[pos:pos+4], uint32(m.PolicerIndex))
1803 func (m *IPPuntPolice) Unmarshal(tmp []byte) error {
1804 o := binary.BigEndian
1808 // field[1] m.PolicerIndex
1809 m.PolicerIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1812 m.IsAdd = tmp[pos] != 0
1815 m.IsIP6 = tmp[pos] != 0
1820 // IPPuntPoliceReply represents VPP binary API message 'ip_punt_police_reply'.
1821 type IPPuntPoliceReply struct {
1822 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1825 func (m *IPPuntPoliceReply) Reset() { *m = IPPuntPoliceReply{} }
1826 func (*IPPuntPoliceReply) GetMessageName() string { return "ip_punt_police_reply" }
1827 func (*IPPuntPoliceReply) GetCrcString() string { return "e8d4e804" }
1828 func (*IPPuntPoliceReply) GetMessageType() api.MessageType { return api.ReplyMessage }
1830 func (m *IPPuntPoliceReply) Size() int {
1835 // field[1] m.Retval
1839 func (m *IPPuntPoliceReply) Marshal(b []byte) ([]byte, error) {
1840 o := binary.BigEndian
1846 buf = make([]byte, m.Size())
1850 // field[1] m.Retval
1851 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
1855 func (m *IPPuntPoliceReply) Unmarshal(tmp []byte) error {
1856 o := binary.BigEndian
1860 // field[1] m.Retval
1861 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
1866 // IPPuntRedirect represents VPP binary API message 'ip_punt_redirect'.
1867 type IPPuntRedirect struct {
1868 Punt PuntRedirect `binapi:"punt_redirect,name=punt" json:"punt,omitempty"`
1869 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
1872 func (m *IPPuntRedirect) Reset() { *m = IPPuntRedirect{} }
1873 func (*IPPuntRedirect) GetMessageName() string { return "ip_punt_redirect" }
1874 func (*IPPuntRedirect) GetCrcString() string { return "a9a5592c" }
1875 func (*IPPuntRedirect) GetMessageType() api.MessageType { return api.RequestMessage }
1877 func (m *IPPuntRedirect) Size() int {
1883 // field[2] m.Punt.RxSwIfIndex
1885 // field[2] m.Punt.TxSwIfIndex
1887 // field[2] m.Punt.Nh
1888 // field[3] m.Punt.Nh.Af
1890 // field[3] m.Punt.Nh.Un
1896 func (m *IPPuntRedirect) Marshal(b []byte) ([]byte, error) {
1897 o := binary.BigEndian
1903 buf = make([]byte, m.Size())
1908 // field[2] m.Punt.RxSwIfIndex
1909 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.RxSwIfIndex))
1911 // field[2] m.Punt.TxSwIfIndex
1912 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.TxSwIfIndex))
1914 // field[2] m.Punt.Nh
1915 // field[3] m.Punt.Nh.Af
1916 buf[pos] = uint8(m.Punt.Nh.Af)
1918 // field[3] m.Punt.Nh.Un
1919 copy(buf[pos:pos+16], m.Punt.Nh.Un.XXX_UnionData[:])
1928 func (m *IPPuntRedirect) Unmarshal(tmp []byte) error {
1929 o := binary.BigEndian
1934 // field[2] m.Punt.RxSwIfIndex
1935 m.Punt.RxSwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
1937 // field[2] m.Punt.TxSwIfIndex
1938 m.Punt.TxSwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
1940 // field[2] m.Punt.Nh
1941 // field[3] m.Punt.Nh.Af
1942 m.Punt.Nh.Af = fib_types.AddressFamily(tmp[pos])
1944 // field[3] m.Punt.Nh.Un
1945 copy(m.Punt.Nh.Un.XXX_UnionData[:], tmp[pos:pos+16])
1948 m.IsAdd = tmp[pos] != 0
1953 // IPPuntRedirectDetails represents VPP binary API message 'ip_punt_redirect_details'.
1954 type IPPuntRedirectDetails struct {
1955 Punt PuntRedirect `binapi:"punt_redirect,name=punt" json:"punt,omitempty"`
1958 func (m *IPPuntRedirectDetails) Reset() { *m = IPPuntRedirectDetails{} }
1959 func (*IPPuntRedirectDetails) GetMessageName() string { return "ip_punt_redirect_details" }
1960 func (*IPPuntRedirectDetails) GetCrcString() string { return "3924f5d3" }
1961 func (*IPPuntRedirectDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
1963 func (m *IPPuntRedirectDetails) Size() int {
1969 // field[2] m.Punt.RxSwIfIndex
1971 // field[2] m.Punt.TxSwIfIndex
1973 // field[2] m.Punt.Nh
1974 // field[3] m.Punt.Nh.Af
1976 // field[3] m.Punt.Nh.Un
1980 func (m *IPPuntRedirectDetails) Marshal(b []byte) ([]byte, error) {
1981 o := binary.BigEndian
1987 buf = make([]byte, m.Size())
1992 // field[2] m.Punt.RxSwIfIndex
1993 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.RxSwIfIndex))
1995 // field[2] m.Punt.TxSwIfIndex
1996 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.TxSwIfIndex))
1998 // field[2] m.Punt.Nh
1999 // field[3] m.Punt.Nh.Af
2000 buf[pos] = uint8(m.Punt.Nh.Af)
2002 // field[3] m.Punt.Nh.Un
2003 copy(buf[pos:pos+16], m.Punt.Nh.Un.XXX_UnionData[:])
2007 func (m *IPPuntRedirectDetails) Unmarshal(tmp []byte) error {
2008 o := binary.BigEndian
2013 // field[2] m.Punt.RxSwIfIndex
2014 m.Punt.RxSwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2016 // field[2] m.Punt.TxSwIfIndex
2017 m.Punt.TxSwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2019 // field[2] m.Punt.Nh
2020 // field[3] m.Punt.Nh.Af
2021 m.Punt.Nh.Af = fib_types.AddressFamily(tmp[pos])
2023 // field[3] m.Punt.Nh.Un
2024 copy(m.Punt.Nh.Un.XXX_UnionData[:], tmp[pos:pos+16])
2029 // IPPuntRedirectDump represents VPP binary API message 'ip_punt_redirect_dump'.
2030 type IPPuntRedirectDump struct {
2031 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
2032 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
2035 func (m *IPPuntRedirectDump) Reset() { *m = IPPuntRedirectDump{} }
2036 func (*IPPuntRedirectDump) GetMessageName() string { return "ip_punt_redirect_dump" }
2037 func (*IPPuntRedirectDump) GetCrcString() string { return "2d033de4" }
2038 func (*IPPuntRedirectDump) GetMessageType() api.MessageType { return api.RequestMessage }
2040 func (m *IPPuntRedirectDump) Size() int {
2045 // field[1] m.SwIfIndex
2047 // field[1] m.IsIPv6
2051 func (m *IPPuntRedirectDump) Marshal(b []byte) ([]byte, error) {
2052 o := binary.BigEndian
2058 buf = make([]byte, m.Size())
2062 // field[1] m.SwIfIndex
2063 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
2065 // field[1] m.IsIPv6
2072 func (m *IPPuntRedirectDump) Unmarshal(tmp []byte) error {
2073 o := binary.BigEndian
2077 // field[1] m.SwIfIndex
2078 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2080 // field[1] m.IsIPv6
2081 m.IsIPv6 = tmp[pos] != 0
2086 // IPPuntRedirectReply represents VPP binary API message 'ip_punt_redirect_reply'.
2087 type IPPuntRedirectReply struct {
2088 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2091 func (m *IPPuntRedirectReply) Reset() { *m = IPPuntRedirectReply{} }
2092 func (*IPPuntRedirectReply) GetMessageName() string { return "ip_punt_redirect_reply" }
2093 func (*IPPuntRedirectReply) GetCrcString() string { return "e8d4e804" }
2094 func (*IPPuntRedirectReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2096 func (m *IPPuntRedirectReply) Size() int {
2101 // field[1] m.Retval
2105 func (m *IPPuntRedirectReply) Marshal(b []byte) ([]byte, error) {
2106 o := binary.BigEndian
2112 buf = make([]byte, m.Size())
2116 // field[1] m.Retval
2117 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2121 func (m *IPPuntRedirectReply) Unmarshal(tmp []byte) error {
2122 o := binary.BigEndian
2126 // field[1] m.Retval
2127 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2132 // IPReassemblyEnableDisable represents VPP binary API message 'ip_reassembly_enable_disable'.
2133 type IPReassemblyEnableDisable struct {
2134 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
2135 EnableIP4 bool `binapi:"bool,name=enable_ip4" json:"enable_ip4,omitempty"`
2136 EnableIP6 bool `binapi:"bool,name=enable_ip6" json:"enable_ip6,omitempty"`
2137 Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"`
2140 func (m *IPReassemblyEnableDisable) Reset() { *m = IPReassemblyEnableDisable{} }
2141 func (*IPReassemblyEnableDisable) GetMessageName() string { return "ip_reassembly_enable_disable" }
2142 func (*IPReassemblyEnableDisable) GetCrcString() string { return "885c85a6" }
2143 func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage }
2145 func (m *IPReassemblyEnableDisable) Size() int {
2150 // field[1] m.SwIfIndex
2152 // field[1] m.EnableIP4
2154 // field[1] m.EnableIP6
2160 func (m *IPReassemblyEnableDisable) Marshal(b []byte) ([]byte, error) {
2161 o := binary.BigEndian
2167 buf = make([]byte, m.Size())
2171 // field[1] m.SwIfIndex
2172 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
2174 // field[1] m.EnableIP4
2179 // field[1] m.EnableIP6
2185 o.PutUint32(buf[pos:pos+4], uint32(m.Type))
2189 func (m *IPReassemblyEnableDisable) Unmarshal(tmp []byte) error {
2190 o := binary.BigEndian
2194 // field[1] m.SwIfIndex
2195 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2197 // field[1] m.EnableIP4
2198 m.EnableIP4 = tmp[pos] != 0
2200 // field[1] m.EnableIP6
2201 m.EnableIP6 = tmp[pos] != 0
2204 m.Type = IPReassType(o.Uint32(tmp[pos : pos+4]))
2209 // IPReassemblyEnableDisableReply represents VPP binary API message 'ip_reassembly_enable_disable_reply'.
2210 type IPReassemblyEnableDisableReply struct {
2211 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2214 func (m *IPReassemblyEnableDisableReply) Reset() { *m = IPReassemblyEnableDisableReply{} }
2215 func (*IPReassemblyEnableDisableReply) GetMessageName() string {
2216 return "ip_reassembly_enable_disable_reply"
2218 func (*IPReassemblyEnableDisableReply) GetCrcString() string { return "e8d4e804" }
2219 func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2221 func (m *IPReassemblyEnableDisableReply) Size() int {
2226 // field[1] m.Retval
2230 func (m *IPReassemblyEnableDisableReply) Marshal(b []byte) ([]byte, error) {
2231 o := binary.BigEndian
2237 buf = make([]byte, m.Size())
2241 // field[1] m.Retval
2242 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2246 func (m *IPReassemblyEnableDisableReply) Unmarshal(tmp []byte) error {
2247 o := binary.BigEndian
2251 // field[1] m.Retval
2252 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2257 // IPReassemblyGet represents VPP binary API message 'ip_reassembly_get'.
2258 type IPReassemblyGet struct {
2259 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
2260 Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"`
2263 func (m *IPReassemblyGet) Reset() { *m = IPReassemblyGet{} }
2264 func (*IPReassemblyGet) GetMessageName() string { return "ip_reassembly_get" }
2265 func (*IPReassemblyGet) GetCrcString() string { return "ea13ff63" }
2266 func (*IPReassemblyGet) GetMessageType() api.MessageType { return api.RequestMessage }
2268 func (m *IPReassemblyGet) Size() int {
2279 func (m *IPReassemblyGet) Marshal(b []byte) ([]byte, error) {
2280 o := binary.BigEndian
2286 buf = make([]byte, m.Size())
2296 o.PutUint32(buf[pos:pos+4], uint32(m.Type))
2300 func (m *IPReassemblyGet) Unmarshal(tmp []byte) error {
2301 o := binary.BigEndian
2306 m.IsIP6 = tmp[pos] != 0
2309 m.Type = IPReassType(o.Uint32(tmp[pos : pos+4]))
2314 // IPReassemblyGetReply represents VPP binary API message 'ip_reassembly_get_reply'.
2315 type IPReassemblyGetReply struct {
2316 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2317 TimeoutMs uint32 `binapi:"u32,name=timeout_ms" json:"timeout_ms,omitempty"`
2318 MaxReassemblies uint32 `binapi:"u32,name=max_reassemblies" json:"max_reassemblies,omitempty"`
2319 MaxReassemblyLength uint32 `binapi:"u32,name=max_reassembly_length" json:"max_reassembly_length,omitempty"`
2320 ExpireWalkIntervalMs uint32 `binapi:"u32,name=expire_walk_interval_ms" json:"expire_walk_interval_ms,omitempty"`
2321 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
2324 func (m *IPReassemblyGetReply) Reset() { *m = IPReassemblyGetReply{} }
2325 func (*IPReassemblyGetReply) GetMessageName() string { return "ip_reassembly_get_reply" }
2326 func (*IPReassemblyGetReply) GetCrcString() string { return "d5eb8d34" }
2327 func (*IPReassemblyGetReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2329 func (m *IPReassemblyGetReply) Size() int {
2334 // field[1] m.Retval
2336 // field[1] m.TimeoutMs
2338 // field[1] m.MaxReassemblies
2340 // field[1] m.MaxReassemblyLength
2342 // field[1] m.ExpireWalkIntervalMs
2348 func (m *IPReassemblyGetReply) Marshal(b []byte) ([]byte, error) {
2349 o := binary.BigEndian
2355 buf = make([]byte, m.Size())
2359 // field[1] m.Retval
2360 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2362 // field[1] m.TimeoutMs
2363 o.PutUint32(buf[pos:pos+4], uint32(m.TimeoutMs))
2365 // field[1] m.MaxReassemblies
2366 o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblies))
2368 // field[1] m.MaxReassemblyLength
2369 o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblyLength))
2371 // field[1] m.ExpireWalkIntervalMs
2372 o.PutUint32(buf[pos:pos+4], uint32(m.ExpireWalkIntervalMs))
2381 func (m *IPReassemblyGetReply) Unmarshal(tmp []byte) error {
2382 o := binary.BigEndian
2386 // field[1] m.Retval
2387 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2389 // field[1] m.TimeoutMs
2390 m.TimeoutMs = uint32(o.Uint32(tmp[pos : pos+4]))
2392 // field[1] m.MaxReassemblies
2393 m.MaxReassemblies = uint32(o.Uint32(tmp[pos : pos+4]))
2395 // field[1] m.MaxReassemblyLength
2396 m.MaxReassemblyLength = uint32(o.Uint32(tmp[pos : pos+4]))
2398 // field[1] m.ExpireWalkIntervalMs
2399 m.ExpireWalkIntervalMs = uint32(o.Uint32(tmp[pos : pos+4]))
2402 m.IsIP6 = tmp[pos] != 0
2407 // IPReassemblySet represents VPP binary API message 'ip_reassembly_set'.
2408 type IPReassemblySet struct {
2409 TimeoutMs uint32 `binapi:"u32,name=timeout_ms" json:"timeout_ms,omitempty"`
2410 MaxReassemblies uint32 `binapi:"u32,name=max_reassemblies" json:"max_reassemblies,omitempty"`
2411 MaxReassemblyLength uint32 `binapi:"u32,name=max_reassembly_length" json:"max_reassembly_length,omitempty"`
2412 ExpireWalkIntervalMs uint32 `binapi:"u32,name=expire_walk_interval_ms" json:"expire_walk_interval_ms,omitempty"`
2413 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
2414 Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"`
2417 func (m *IPReassemblySet) Reset() { *m = IPReassemblySet{} }
2418 func (*IPReassemblySet) GetMessageName() string { return "ip_reassembly_set" }
2419 func (*IPReassemblySet) GetCrcString() string { return "16467d25" }
2420 func (*IPReassemblySet) GetMessageType() api.MessageType { return api.RequestMessage }
2422 func (m *IPReassemblySet) Size() int {
2427 // field[1] m.TimeoutMs
2429 // field[1] m.MaxReassemblies
2431 // field[1] m.MaxReassemblyLength
2433 // field[1] m.ExpireWalkIntervalMs
2441 func (m *IPReassemblySet) Marshal(b []byte) ([]byte, error) {
2442 o := binary.BigEndian
2448 buf = make([]byte, m.Size())
2452 // field[1] m.TimeoutMs
2453 o.PutUint32(buf[pos:pos+4], uint32(m.TimeoutMs))
2455 // field[1] m.MaxReassemblies
2456 o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblies))
2458 // field[1] m.MaxReassemblyLength
2459 o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblyLength))
2461 // field[1] m.ExpireWalkIntervalMs
2462 o.PutUint32(buf[pos:pos+4], uint32(m.ExpireWalkIntervalMs))
2470 o.PutUint32(buf[pos:pos+4], uint32(m.Type))
2474 func (m *IPReassemblySet) Unmarshal(tmp []byte) error {
2475 o := binary.BigEndian
2479 // field[1] m.TimeoutMs
2480 m.TimeoutMs = uint32(o.Uint32(tmp[pos : pos+4]))
2482 // field[1] m.MaxReassemblies
2483 m.MaxReassemblies = uint32(o.Uint32(tmp[pos : pos+4]))
2485 // field[1] m.MaxReassemblyLength
2486 m.MaxReassemblyLength = uint32(o.Uint32(tmp[pos : pos+4]))
2488 // field[1] m.ExpireWalkIntervalMs
2489 m.ExpireWalkIntervalMs = uint32(o.Uint32(tmp[pos : pos+4]))
2492 m.IsIP6 = tmp[pos] != 0
2495 m.Type = IPReassType(o.Uint32(tmp[pos : pos+4]))
2500 // IPReassemblySetReply represents VPP binary API message 'ip_reassembly_set_reply'.
2501 type IPReassemblySetReply struct {
2502 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2505 func (m *IPReassemblySetReply) Reset() { *m = IPReassemblySetReply{} }
2506 func (*IPReassemblySetReply) GetMessageName() string { return "ip_reassembly_set_reply" }
2507 func (*IPReassemblySetReply) GetCrcString() string { return "e8d4e804" }
2508 func (*IPReassemblySetReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2510 func (m *IPReassemblySetReply) Size() int {
2515 // field[1] m.Retval
2519 func (m *IPReassemblySetReply) Marshal(b []byte) ([]byte, error) {
2520 o := binary.BigEndian
2526 buf = make([]byte, m.Size())
2530 // field[1] m.Retval
2531 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2535 func (m *IPReassemblySetReply) Unmarshal(tmp []byte) error {
2536 o := binary.BigEndian
2540 // field[1] m.Retval
2541 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2546 // IPRouteAddDel represents VPP binary API message 'ip_route_add_del'.
2547 type IPRouteAddDel struct {
2548 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
2549 IsMultipath bool `binapi:"bool,name=is_multipath" json:"is_multipath,omitempty"`
2550 Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"`
2553 func (m *IPRouteAddDel) Reset() { *m = IPRouteAddDel{} }
2554 func (*IPRouteAddDel) GetMessageName() string { return "ip_route_add_del" }
2555 func (*IPRouteAddDel) GetCrcString() string { return "c1ff832d" }
2556 func (*IPRouteAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
2558 func (m *IPRouteAddDel) Size() int {
2565 // field[1] m.IsMultipath
2568 // field[2] m.Route.TableID
2570 // field[2] m.Route.StatsIndex
2572 // field[2] m.Route.Prefix
2573 // field[3] m.Route.Prefix.Address
2574 // field[4] m.Route.Prefix.Address.Af
2576 // field[4] m.Route.Prefix.Address.Un
2578 // field[3] m.Route.Prefix.Len
2580 // field[2] m.Route.NPaths
2582 // field[2] m.Route.Paths
2583 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
2584 var s2 fib_types.FibPath
2586 if j2 < len(m.Route.Paths) {
2587 s2 = m.Route.Paths[j2]
2589 // field[3] s2.SwIfIndex
2591 // field[3] s2.TableID
2593 // field[3] s2.RpfID
2595 // field[3] s2.Weight
2597 // field[3] s2.Preference
2601 // field[3] s2.Flags
2603 // field[3] s2.Proto
2606 // field[4] s2.Nh.Address
2608 // field[4] s2.Nh.ViaLabel
2610 // field[4] s2.Nh.ObjID
2612 // field[4] s2.Nh.ClassifyTableIndex
2614 // field[3] s2.NLabels
2616 // field[3] s2.LabelStack
2617 for j3 := 0; j3 < 16; j3++ {
2618 var s3 fib_types.FibMplsLabel
2620 if j3 < len(s2.LabelStack) {
2621 s3 = s2.LabelStack[j3]
2623 // field[4] s3.IsUniform
2625 // field[4] s3.Label
2635 func (m *IPRouteAddDel) Marshal(b []byte) ([]byte, error) {
2636 o := binary.BigEndian
2642 buf = make([]byte, m.Size())
2651 // field[1] m.IsMultipath
2657 // field[2] m.Route.TableID
2658 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
2660 // field[2] m.Route.StatsIndex
2661 o.PutUint32(buf[pos:pos+4], uint32(m.Route.StatsIndex))
2663 // field[2] m.Route.Prefix
2664 // field[3] m.Route.Prefix.Address
2665 // field[4] m.Route.Prefix.Address.Af
2666 buf[pos] = uint8(m.Route.Prefix.Address.Af)
2668 // field[4] m.Route.Prefix.Address.Un
2669 copy(buf[pos:pos+16], m.Route.Prefix.Address.Un.XXX_UnionData[:])
2671 // field[3] m.Route.Prefix.Len
2672 buf[pos] = uint8(m.Route.Prefix.Len)
2674 // field[2] m.Route.NPaths
2675 buf[pos] = uint8(len(m.Route.Paths))
2677 // field[2] m.Route.Paths
2678 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
2679 var v2 fib_types.FibPath
2680 if j2 < len(m.Route.Paths) {
2681 v2 = m.Route.Paths[j2]
2683 // field[3] v2.SwIfIndex
2684 o.PutUint32(buf[pos:pos+4], uint32(v2.SwIfIndex))
2686 // field[3] v2.TableID
2687 o.PutUint32(buf[pos:pos+4], uint32(v2.TableID))
2689 // field[3] v2.RpfID
2690 o.PutUint32(buf[pos:pos+4], uint32(v2.RpfID))
2692 // field[3] v2.Weight
2693 buf[pos] = uint8(v2.Weight)
2695 // field[3] v2.Preference
2696 buf[pos] = uint8(v2.Preference)
2699 o.PutUint32(buf[pos:pos+4], uint32(v2.Type))
2701 // field[3] v2.Flags
2702 o.PutUint32(buf[pos:pos+4], uint32(v2.Flags))
2704 // field[3] v2.Proto
2705 o.PutUint32(buf[pos:pos+4], uint32(v2.Proto))
2708 // field[4] v2.Nh.Address
2709 copy(buf[pos:pos+16], v2.Nh.Address.XXX_UnionData[:])
2711 // field[4] v2.Nh.ViaLabel
2712 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ViaLabel))
2714 // field[4] v2.Nh.ObjID
2715 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ObjID))
2717 // field[4] v2.Nh.ClassifyTableIndex
2718 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ClassifyTableIndex))
2720 // field[3] v2.NLabels
2721 buf[pos] = uint8(v2.NLabels)
2723 // field[3] v2.LabelStack
2724 for j3 := 0; j3 < 16; j3++ {
2725 var v3 fib_types.FibMplsLabel
2726 if j3 < len(v2.LabelStack) {
2727 v3 = v2.LabelStack[j3]
2729 // field[4] v3.IsUniform
2730 buf[pos] = uint8(v3.IsUniform)
2732 // field[4] v3.Label
2733 o.PutUint32(buf[pos:pos+4], uint32(v3.Label))
2736 buf[pos] = uint8(v3.TTL)
2739 buf[pos] = uint8(v3.Exp)
2745 func (m *IPRouteAddDel) Unmarshal(tmp []byte) error {
2746 o := binary.BigEndian
2751 m.IsAdd = tmp[pos] != 0
2753 // field[1] m.IsMultipath
2754 m.IsMultipath = tmp[pos] != 0
2757 // field[2] m.Route.TableID
2758 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
2760 // field[2] m.Route.StatsIndex
2761 m.Route.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
2763 // field[2] m.Route.Prefix
2764 // field[3] m.Route.Prefix.Address
2765 // field[4] m.Route.Prefix.Address.Af
2766 m.Route.Prefix.Address.Af = fib_types.AddressFamily(tmp[pos])
2768 // field[4] m.Route.Prefix.Address.Un
2769 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
2771 // field[3] m.Route.Prefix.Len
2772 m.Route.Prefix.Len = uint8(tmp[pos])
2774 // field[2] m.Route.NPaths
2775 m.Route.NPaths = uint8(tmp[pos])
2777 // field[2] m.Route.Paths
2778 m.Route.Paths = make([]fib_types.FibPath, int(m.Route.NPaths))
2779 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
2780 // field[3] m.Route.Paths[j2].SwIfIndex
2781 m.Route.Paths[j2].SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
2783 // field[3] m.Route.Paths[j2].TableID
2784 m.Route.Paths[j2].TableID = uint32(o.Uint32(tmp[pos : pos+4]))
2786 // field[3] m.Route.Paths[j2].RpfID
2787 m.Route.Paths[j2].RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
2789 // field[3] m.Route.Paths[j2].Weight
2790 m.Route.Paths[j2].Weight = uint8(tmp[pos])
2792 // field[3] m.Route.Paths[j2].Preference
2793 m.Route.Paths[j2].Preference = uint8(tmp[pos])
2795 // field[3] m.Route.Paths[j2].Type
2796 m.Route.Paths[j2].Type = fib_types.FibPathType(o.Uint32(tmp[pos : pos+4]))
2798 // field[3] m.Route.Paths[j2].Flags
2799 m.Route.Paths[j2].Flags = fib_types.FibPathFlags(o.Uint32(tmp[pos : pos+4]))
2801 // field[3] m.Route.Paths[j2].Proto
2802 m.Route.Paths[j2].Proto = fib_types.FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
2804 // field[3] m.Route.Paths[j2].Nh
2805 // field[4] m.Route.Paths[j2].Nh.Address
2806 copy(m.Route.Paths[j2].Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
2808 // field[4] m.Route.Paths[j2].Nh.ViaLabel
2809 m.Route.Paths[j2].Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
2811 // field[4] m.Route.Paths[j2].Nh.ObjID
2812 m.Route.Paths[j2].Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
2814 // field[4] m.Route.Paths[j2].Nh.ClassifyTableIndex
2815 m.Route.Paths[j2].Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
2817 // field[3] m.Route.Paths[j2].NLabels
2818 m.Route.Paths[j2].NLabels = uint8(tmp[pos])
2820 // field[3] m.Route.Paths[j2].LabelStack
2821 for j3 := 0; j3 < 16; j3++ {
2822 // field[4] m.Route.Paths[j2].LabelStack[j3].IsUniform
2823 m.Route.Paths[j2].LabelStack[j3].IsUniform = uint8(tmp[pos])
2825 // field[4] m.Route.Paths[j2].LabelStack[j3].Label
2826 m.Route.Paths[j2].LabelStack[j3].Label = uint32(o.Uint32(tmp[pos : pos+4]))
2828 // field[4] m.Route.Paths[j2].LabelStack[j3].TTL
2829 m.Route.Paths[j2].LabelStack[j3].TTL = uint8(tmp[pos])
2831 // field[4] m.Route.Paths[j2].LabelStack[j3].Exp
2832 m.Route.Paths[j2].LabelStack[j3].Exp = uint8(tmp[pos])
2839 // IPRouteAddDelReply represents VPP binary API message 'ip_route_add_del_reply'.
2840 type IPRouteAddDelReply struct {
2841 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2842 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
2845 func (m *IPRouteAddDelReply) Reset() { *m = IPRouteAddDelReply{} }
2846 func (*IPRouteAddDelReply) GetMessageName() string { return "ip_route_add_del_reply" }
2847 func (*IPRouteAddDelReply) GetCrcString() string { return "1992deab" }
2848 func (*IPRouteAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2850 func (m *IPRouteAddDelReply) Size() int {
2855 // field[1] m.Retval
2857 // field[1] m.StatsIndex
2861 func (m *IPRouteAddDelReply) Marshal(b []byte) ([]byte, error) {
2862 o := binary.BigEndian
2868 buf = make([]byte, m.Size())
2872 // field[1] m.Retval
2873 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2875 // field[1] m.StatsIndex
2876 o.PutUint32(buf[pos:pos+4], uint32(m.StatsIndex))
2880 func (m *IPRouteAddDelReply) Unmarshal(tmp []byte) error {
2881 o := binary.BigEndian
2885 // field[1] m.Retval
2886 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2888 // field[1] m.StatsIndex
2889 m.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
2894 // IPRouteDetails represents VPP binary API message 'ip_route_details'.
2895 type IPRouteDetails struct {
2896 Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"`
2899 func (m *IPRouteDetails) Reset() { *m = IPRouteDetails{} }
2900 func (*IPRouteDetails) GetMessageName() string { return "ip_route_details" }
2901 func (*IPRouteDetails) GetCrcString() string { return "d1ffaae1" }
2902 func (*IPRouteDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
2904 func (m *IPRouteDetails) Size() int {
2910 // field[2] m.Route.TableID
2912 // field[2] m.Route.StatsIndex
2914 // field[2] m.Route.Prefix
2915 // field[3] m.Route.Prefix.Address
2916 // field[4] m.Route.Prefix.Address.Af
2918 // field[4] m.Route.Prefix.Address.Un
2920 // field[3] m.Route.Prefix.Len
2922 // field[2] m.Route.NPaths
2924 // field[2] m.Route.Paths
2925 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
2926 var s2 fib_types.FibPath
2928 if j2 < len(m.Route.Paths) {
2929 s2 = m.Route.Paths[j2]
2931 // field[3] s2.SwIfIndex
2933 // field[3] s2.TableID
2935 // field[3] s2.RpfID
2937 // field[3] s2.Weight
2939 // field[3] s2.Preference
2943 // field[3] s2.Flags
2945 // field[3] s2.Proto
2948 // field[4] s2.Nh.Address
2950 // field[4] s2.Nh.ViaLabel
2952 // field[4] s2.Nh.ObjID
2954 // field[4] s2.Nh.ClassifyTableIndex
2956 // field[3] s2.NLabels
2958 // field[3] s2.LabelStack
2959 for j3 := 0; j3 < 16; j3++ {
2960 var s3 fib_types.FibMplsLabel
2962 if j3 < len(s2.LabelStack) {
2963 s3 = s2.LabelStack[j3]
2965 // field[4] s3.IsUniform
2967 // field[4] s3.Label
2977 func (m *IPRouteDetails) Marshal(b []byte) ([]byte, error) {
2978 o := binary.BigEndian
2984 buf = make([]byte, m.Size())
2989 // field[2] m.Route.TableID
2990 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
2992 // field[2] m.Route.StatsIndex
2993 o.PutUint32(buf[pos:pos+4], uint32(m.Route.StatsIndex))
2995 // field[2] m.Route.Prefix
2996 // field[3] m.Route.Prefix.Address
2997 // field[4] m.Route.Prefix.Address.Af
2998 buf[pos] = uint8(m.Route.Prefix.Address.Af)
3000 // field[4] m.Route.Prefix.Address.Un
3001 copy(buf[pos:pos+16], m.Route.Prefix.Address.Un.XXX_UnionData[:])
3003 // field[3] m.Route.Prefix.Len
3004 buf[pos] = uint8(m.Route.Prefix.Len)
3006 // field[2] m.Route.NPaths
3007 buf[pos] = uint8(len(m.Route.Paths))
3009 // field[2] m.Route.Paths
3010 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
3011 var v2 fib_types.FibPath
3012 if j2 < len(m.Route.Paths) {
3013 v2 = m.Route.Paths[j2]
3015 // field[3] v2.SwIfIndex
3016 o.PutUint32(buf[pos:pos+4], uint32(v2.SwIfIndex))
3018 // field[3] v2.TableID
3019 o.PutUint32(buf[pos:pos+4], uint32(v2.TableID))
3021 // field[3] v2.RpfID
3022 o.PutUint32(buf[pos:pos+4], uint32(v2.RpfID))
3024 // field[3] v2.Weight
3025 buf[pos] = uint8(v2.Weight)
3027 // field[3] v2.Preference
3028 buf[pos] = uint8(v2.Preference)
3031 o.PutUint32(buf[pos:pos+4], uint32(v2.Type))
3033 // field[3] v2.Flags
3034 o.PutUint32(buf[pos:pos+4], uint32(v2.Flags))
3036 // field[3] v2.Proto
3037 o.PutUint32(buf[pos:pos+4], uint32(v2.Proto))
3040 // field[4] v2.Nh.Address
3041 copy(buf[pos:pos+16], v2.Nh.Address.XXX_UnionData[:])
3043 // field[4] v2.Nh.ViaLabel
3044 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ViaLabel))
3046 // field[4] v2.Nh.ObjID
3047 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ObjID))
3049 // field[4] v2.Nh.ClassifyTableIndex
3050 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ClassifyTableIndex))
3052 // field[3] v2.NLabels
3053 buf[pos] = uint8(v2.NLabels)
3055 // field[3] v2.LabelStack
3056 for j3 := 0; j3 < 16; j3++ {
3057 var v3 fib_types.FibMplsLabel
3058 if j3 < len(v2.LabelStack) {
3059 v3 = v2.LabelStack[j3]
3061 // field[4] v3.IsUniform
3062 buf[pos] = uint8(v3.IsUniform)
3064 // field[4] v3.Label
3065 o.PutUint32(buf[pos:pos+4], uint32(v3.Label))
3068 buf[pos] = uint8(v3.TTL)
3071 buf[pos] = uint8(v3.Exp)
3077 func (m *IPRouteDetails) Unmarshal(tmp []byte) error {
3078 o := binary.BigEndian
3083 // field[2] m.Route.TableID
3084 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3086 // field[2] m.Route.StatsIndex
3087 m.Route.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3089 // field[2] m.Route.Prefix
3090 // field[3] m.Route.Prefix.Address
3091 // field[4] m.Route.Prefix.Address.Af
3092 m.Route.Prefix.Address.Af = fib_types.AddressFamily(tmp[pos])
3094 // field[4] m.Route.Prefix.Address.Un
3095 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
3097 // field[3] m.Route.Prefix.Len
3098 m.Route.Prefix.Len = uint8(tmp[pos])
3100 // field[2] m.Route.NPaths
3101 m.Route.NPaths = uint8(tmp[pos])
3103 // field[2] m.Route.Paths
3104 m.Route.Paths = make([]fib_types.FibPath, int(m.Route.NPaths))
3105 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
3106 // field[3] m.Route.Paths[j2].SwIfIndex
3107 m.Route.Paths[j2].SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3109 // field[3] m.Route.Paths[j2].TableID
3110 m.Route.Paths[j2].TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3112 // field[3] m.Route.Paths[j2].RpfID
3113 m.Route.Paths[j2].RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
3115 // field[3] m.Route.Paths[j2].Weight
3116 m.Route.Paths[j2].Weight = uint8(tmp[pos])
3118 // field[3] m.Route.Paths[j2].Preference
3119 m.Route.Paths[j2].Preference = uint8(tmp[pos])
3121 // field[3] m.Route.Paths[j2].Type
3122 m.Route.Paths[j2].Type = fib_types.FibPathType(o.Uint32(tmp[pos : pos+4]))
3124 // field[3] m.Route.Paths[j2].Flags
3125 m.Route.Paths[j2].Flags = fib_types.FibPathFlags(o.Uint32(tmp[pos : pos+4]))
3127 // field[3] m.Route.Paths[j2].Proto
3128 m.Route.Paths[j2].Proto = fib_types.FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
3130 // field[3] m.Route.Paths[j2].Nh
3131 // field[4] m.Route.Paths[j2].Nh.Address
3132 copy(m.Route.Paths[j2].Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
3134 // field[4] m.Route.Paths[j2].Nh.ViaLabel
3135 m.Route.Paths[j2].Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
3137 // field[4] m.Route.Paths[j2].Nh.ObjID
3138 m.Route.Paths[j2].Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
3140 // field[4] m.Route.Paths[j2].Nh.ClassifyTableIndex
3141 m.Route.Paths[j2].Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3143 // field[3] m.Route.Paths[j2].NLabels
3144 m.Route.Paths[j2].NLabels = uint8(tmp[pos])
3146 // field[3] m.Route.Paths[j2].LabelStack
3147 for j3 := 0; j3 < 16; j3++ {
3148 // field[4] m.Route.Paths[j2].LabelStack[j3].IsUniform
3149 m.Route.Paths[j2].LabelStack[j3].IsUniform = uint8(tmp[pos])
3151 // field[4] m.Route.Paths[j2].LabelStack[j3].Label
3152 m.Route.Paths[j2].LabelStack[j3].Label = uint32(o.Uint32(tmp[pos : pos+4]))
3154 // field[4] m.Route.Paths[j2].LabelStack[j3].TTL
3155 m.Route.Paths[j2].LabelStack[j3].TTL = uint8(tmp[pos])
3157 // field[4] m.Route.Paths[j2].LabelStack[j3].Exp
3158 m.Route.Paths[j2].LabelStack[j3].Exp = uint8(tmp[pos])
3165 // IPRouteDump represents VPP binary API message 'ip_route_dump'.
3166 type IPRouteDump struct {
3167 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
3170 func (m *IPRouteDump) Reset() { *m = IPRouteDump{} }
3171 func (*IPRouteDump) GetMessageName() string { return "ip_route_dump" }
3172 func (*IPRouteDump) GetCrcString() string { return "b9d2e09e" }
3173 func (*IPRouteDump) GetMessageType() api.MessageType { return api.RequestMessage }
3175 func (m *IPRouteDump) Size() int {
3181 // field[2] m.Table.TableID
3183 // field[2] m.Table.IsIP6
3185 // field[2] m.Table.Name
3189 func (m *IPRouteDump) Marshal(b []byte) ([]byte, error) {
3190 o := binary.BigEndian
3196 buf = make([]byte, m.Size())
3201 // field[2] m.Table.TableID
3202 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
3204 // field[2] m.Table.IsIP6
3209 // field[2] m.Table.Name
3210 copy(buf[pos:pos+64], m.Table.Name)
3214 func (m *IPRouteDump) Unmarshal(tmp []byte) error {
3215 o := binary.BigEndian
3220 // field[2] m.Table.TableID
3221 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3223 // field[2] m.Table.IsIP6
3224 m.Table.IsIP6 = tmp[pos] != 0
3226 // field[2] m.Table.Name
3228 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
3229 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
3235 // IPRouteLookup represents VPP binary API message 'ip_route_lookup'.
3236 type IPRouteLookup struct {
3237 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
3238 Exact uint8 `binapi:"u8,name=exact" json:"exact,omitempty"`
3239 Prefix fib_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
3242 func (m *IPRouteLookup) Reset() { *m = IPRouteLookup{} }
3243 func (*IPRouteLookup) GetMessageName() string { return "ip_route_lookup" }
3244 func (*IPRouteLookup) GetCrcString() string { return "e2986185" }
3245 func (*IPRouteLookup) GetMessageType() api.MessageType { return api.RequestMessage }
3247 func (m *IPRouteLookup) Size() int {
3252 // field[1] m.TableID
3256 // field[1] m.Prefix
3257 // field[2] m.Prefix.Address
3258 // field[3] m.Prefix.Address.Af
3260 // field[3] m.Prefix.Address.Un
3262 // field[2] m.Prefix.Len
3266 func (m *IPRouteLookup) Marshal(b []byte) ([]byte, error) {
3267 o := binary.BigEndian
3273 buf = make([]byte, m.Size())
3277 // field[1] m.TableID
3278 o.PutUint32(buf[pos:pos+4], uint32(m.TableID))
3281 buf[pos] = uint8(m.Exact)
3283 // field[1] m.Prefix
3284 // field[2] m.Prefix.Address
3285 // field[3] m.Prefix.Address.Af
3286 buf[pos] = uint8(m.Prefix.Address.Af)
3288 // field[3] m.Prefix.Address.Un
3289 copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
3291 // field[2] m.Prefix.Len
3292 buf[pos] = uint8(m.Prefix.Len)
3296 func (m *IPRouteLookup) Unmarshal(tmp []byte) error {
3297 o := binary.BigEndian
3301 // field[1] m.TableID
3302 m.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3305 m.Exact = uint8(tmp[pos])
3307 // field[1] m.Prefix
3308 // field[2] m.Prefix.Address
3309 // field[3] m.Prefix.Address.Af
3310 m.Prefix.Address.Af = fib_types.AddressFamily(tmp[pos])
3312 // field[3] m.Prefix.Address.Un
3313 copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
3315 // field[2] m.Prefix.Len
3316 m.Prefix.Len = uint8(tmp[pos])
3321 // IPRouteLookupReply represents VPP binary API message 'ip_route_lookup_reply'.
3322 type IPRouteLookupReply struct {
3323 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3324 Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"`
3327 func (m *IPRouteLookupReply) Reset() { *m = IPRouteLookupReply{} }
3328 func (*IPRouteLookupReply) GetMessageName() string { return "ip_route_lookup_reply" }
3329 func (*IPRouteLookupReply) GetCrcString() string { return "ae99de8e" }
3330 func (*IPRouteLookupReply) GetMessageType() api.MessageType { return api.ReplyMessage }
3332 func (m *IPRouteLookupReply) Size() int {
3337 // field[1] m.Retval
3340 // field[2] m.Route.TableID
3342 // field[2] m.Route.StatsIndex
3344 // field[2] m.Route.Prefix
3345 // field[3] m.Route.Prefix.Address
3346 // field[4] m.Route.Prefix.Address.Af
3348 // field[4] m.Route.Prefix.Address.Un
3350 // field[3] m.Route.Prefix.Len
3352 // field[2] m.Route.NPaths
3354 // field[2] m.Route.Paths
3355 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
3356 var s2 fib_types.FibPath
3358 if j2 < len(m.Route.Paths) {
3359 s2 = m.Route.Paths[j2]
3361 // field[3] s2.SwIfIndex
3363 // field[3] s2.TableID
3365 // field[3] s2.RpfID
3367 // field[3] s2.Weight
3369 // field[3] s2.Preference
3373 // field[3] s2.Flags
3375 // field[3] s2.Proto
3378 // field[4] s2.Nh.Address
3380 // field[4] s2.Nh.ViaLabel
3382 // field[4] s2.Nh.ObjID
3384 // field[4] s2.Nh.ClassifyTableIndex
3386 // field[3] s2.NLabels
3388 // field[3] s2.LabelStack
3389 for j3 := 0; j3 < 16; j3++ {
3390 var s3 fib_types.FibMplsLabel
3392 if j3 < len(s2.LabelStack) {
3393 s3 = s2.LabelStack[j3]
3395 // field[4] s3.IsUniform
3397 // field[4] s3.Label
3407 func (m *IPRouteLookupReply) Marshal(b []byte) ([]byte, error) {
3408 o := binary.BigEndian
3414 buf = make([]byte, m.Size())
3418 // field[1] m.Retval
3419 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
3422 // field[2] m.Route.TableID
3423 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
3425 // field[2] m.Route.StatsIndex
3426 o.PutUint32(buf[pos:pos+4], uint32(m.Route.StatsIndex))
3428 // field[2] m.Route.Prefix
3429 // field[3] m.Route.Prefix.Address
3430 // field[4] m.Route.Prefix.Address.Af
3431 buf[pos] = uint8(m.Route.Prefix.Address.Af)
3433 // field[4] m.Route.Prefix.Address.Un
3434 copy(buf[pos:pos+16], m.Route.Prefix.Address.Un.XXX_UnionData[:])
3436 // field[3] m.Route.Prefix.Len
3437 buf[pos] = uint8(m.Route.Prefix.Len)
3439 // field[2] m.Route.NPaths
3440 buf[pos] = uint8(len(m.Route.Paths))
3442 // field[2] m.Route.Paths
3443 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
3444 var v2 fib_types.FibPath
3445 if j2 < len(m.Route.Paths) {
3446 v2 = m.Route.Paths[j2]
3448 // field[3] v2.SwIfIndex
3449 o.PutUint32(buf[pos:pos+4], uint32(v2.SwIfIndex))
3451 // field[3] v2.TableID
3452 o.PutUint32(buf[pos:pos+4], uint32(v2.TableID))
3454 // field[3] v2.RpfID
3455 o.PutUint32(buf[pos:pos+4], uint32(v2.RpfID))
3457 // field[3] v2.Weight
3458 buf[pos] = uint8(v2.Weight)
3460 // field[3] v2.Preference
3461 buf[pos] = uint8(v2.Preference)
3464 o.PutUint32(buf[pos:pos+4], uint32(v2.Type))
3466 // field[3] v2.Flags
3467 o.PutUint32(buf[pos:pos+4], uint32(v2.Flags))
3469 // field[3] v2.Proto
3470 o.PutUint32(buf[pos:pos+4], uint32(v2.Proto))
3473 // field[4] v2.Nh.Address
3474 copy(buf[pos:pos+16], v2.Nh.Address.XXX_UnionData[:])
3476 // field[4] v2.Nh.ViaLabel
3477 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ViaLabel))
3479 // field[4] v2.Nh.ObjID
3480 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ObjID))
3482 // field[4] v2.Nh.ClassifyTableIndex
3483 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ClassifyTableIndex))
3485 // field[3] v2.NLabels
3486 buf[pos] = uint8(v2.NLabels)
3488 // field[3] v2.LabelStack
3489 for j3 := 0; j3 < 16; j3++ {
3490 var v3 fib_types.FibMplsLabel
3491 if j3 < len(v2.LabelStack) {
3492 v3 = v2.LabelStack[j3]
3494 // field[4] v3.IsUniform
3495 buf[pos] = uint8(v3.IsUniform)
3497 // field[4] v3.Label
3498 o.PutUint32(buf[pos:pos+4], uint32(v3.Label))
3501 buf[pos] = uint8(v3.TTL)
3504 buf[pos] = uint8(v3.Exp)
3510 func (m *IPRouteLookupReply) Unmarshal(tmp []byte) error {
3511 o := binary.BigEndian
3515 // field[1] m.Retval
3516 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
3519 // field[2] m.Route.TableID
3520 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3522 // field[2] m.Route.StatsIndex
3523 m.Route.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3525 // field[2] m.Route.Prefix
3526 // field[3] m.Route.Prefix.Address
3527 // field[4] m.Route.Prefix.Address.Af
3528 m.Route.Prefix.Address.Af = fib_types.AddressFamily(tmp[pos])
3530 // field[4] m.Route.Prefix.Address.Un
3531 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
3533 // field[3] m.Route.Prefix.Len
3534 m.Route.Prefix.Len = uint8(tmp[pos])
3536 // field[2] m.Route.NPaths
3537 m.Route.NPaths = uint8(tmp[pos])
3539 // field[2] m.Route.Paths
3540 m.Route.Paths = make([]fib_types.FibPath, int(m.Route.NPaths))
3541 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
3542 // field[3] m.Route.Paths[j2].SwIfIndex
3543 m.Route.Paths[j2].SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3545 // field[3] m.Route.Paths[j2].TableID
3546 m.Route.Paths[j2].TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3548 // field[3] m.Route.Paths[j2].RpfID
3549 m.Route.Paths[j2].RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
3551 // field[3] m.Route.Paths[j2].Weight
3552 m.Route.Paths[j2].Weight = uint8(tmp[pos])
3554 // field[3] m.Route.Paths[j2].Preference
3555 m.Route.Paths[j2].Preference = uint8(tmp[pos])
3557 // field[3] m.Route.Paths[j2].Type
3558 m.Route.Paths[j2].Type = fib_types.FibPathType(o.Uint32(tmp[pos : pos+4]))
3560 // field[3] m.Route.Paths[j2].Flags
3561 m.Route.Paths[j2].Flags = fib_types.FibPathFlags(o.Uint32(tmp[pos : pos+4]))
3563 // field[3] m.Route.Paths[j2].Proto
3564 m.Route.Paths[j2].Proto = fib_types.FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
3566 // field[3] m.Route.Paths[j2].Nh
3567 // field[4] m.Route.Paths[j2].Nh.Address
3568 copy(m.Route.Paths[j2].Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
3570 // field[4] m.Route.Paths[j2].Nh.ViaLabel
3571 m.Route.Paths[j2].Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
3573 // field[4] m.Route.Paths[j2].Nh.ObjID
3574 m.Route.Paths[j2].Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
3576 // field[4] m.Route.Paths[j2].Nh.ClassifyTableIndex
3577 m.Route.Paths[j2].Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3579 // field[3] m.Route.Paths[j2].NLabels
3580 m.Route.Paths[j2].NLabels = uint8(tmp[pos])
3582 // field[3] m.Route.Paths[j2].LabelStack
3583 for j3 := 0; j3 < 16; j3++ {
3584 // field[4] m.Route.Paths[j2].LabelStack[j3].IsUniform
3585 m.Route.Paths[j2].LabelStack[j3].IsUniform = uint8(tmp[pos])
3587 // field[4] m.Route.Paths[j2].LabelStack[j3].Label
3588 m.Route.Paths[j2].LabelStack[j3].Label = uint32(o.Uint32(tmp[pos : pos+4]))
3590 // field[4] m.Route.Paths[j2].LabelStack[j3].TTL
3591 m.Route.Paths[j2].LabelStack[j3].TTL = uint8(tmp[pos])
3593 // field[4] m.Route.Paths[j2].LabelStack[j3].Exp
3594 m.Route.Paths[j2].LabelStack[j3].Exp = uint8(tmp[pos])
3601 // IPSourceAndPortRangeCheckAddDel represents VPP binary API message 'ip_source_and_port_range_check_add_del'.
3602 type IPSourceAndPortRangeCheckAddDel struct {
3603 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
3604 Prefix fib_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
3605 NumberOfRanges uint8 `binapi:"u8,name=number_of_ranges" json:"number_of_ranges,omitempty"`
3606 LowPorts []uint16 `binapi:"u16[32],name=low_ports" json:"low_ports,omitempty" struc:"[32]uint16"`
3607 HighPorts []uint16 `binapi:"u16[32],name=high_ports" json:"high_ports,omitempty" struc:"[32]uint16"`
3608 VrfID uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
3611 func (m *IPSourceAndPortRangeCheckAddDel) Reset() { *m = IPSourceAndPortRangeCheckAddDel{} }
3612 func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string {
3613 return "ip_source_and_port_range_check_add_del"
3615 func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string { return "8bfc76f2" }
3616 func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
3618 func (m *IPSourceAndPortRangeCheckAddDel) Size() int {
3625 // field[1] m.Prefix
3626 // field[2] m.Prefix.Address
3627 // field[3] m.Prefix.Address.Af
3629 // field[3] m.Prefix.Address.Un
3631 // field[2] m.Prefix.Len
3633 // field[1] m.NumberOfRanges
3635 // field[1] m.LowPorts
3637 // field[1] m.HighPorts
3643 func (m *IPSourceAndPortRangeCheckAddDel) Marshal(b []byte) ([]byte, error) {
3644 o := binary.BigEndian
3650 buf = make([]byte, m.Size())
3659 // field[1] m.Prefix
3660 // field[2] m.Prefix.Address
3661 // field[3] m.Prefix.Address.Af
3662 buf[pos] = uint8(m.Prefix.Address.Af)
3664 // field[3] m.Prefix.Address.Un
3665 copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
3667 // field[2] m.Prefix.Len
3668 buf[pos] = uint8(m.Prefix.Len)
3670 // field[1] m.NumberOfRanges
3671 buf[pos] = uint8(m.NumberOfRanges)
3673 // field[1] m.LowPorts
3674 for i := 0; i < 32; i++ {
3676 if i < len(m.LowPorts) {
3677 x = uint16(m.LowPorts[i])
3679 o.PutUint16(buf[pos:pos+2], uint16(x))
3682 // field[1] m.HighPorts
3683 for i := 0; i < 32; i++ {
3685 if i < len(m.HighPorts) {
3686 x = uint16(m.HighPorts[i])
3688 o.PutUint16(buf[pos:pos+2], uint16(x))
3692 o.PutUint32(buf[pos:pos+4], uint32(m.VrfID))
3696 func (m *IPSourceAndPortRangeCheckAddDel) Unmarshal(tmp []byte) error {
3697 o := binary.BigEndian
3702 m.IsAdd = tmp[pos] != 0
3704 // field[1] m.Prefix
3705 // field[2] m.Prefix.Address
3706 // field[3] m.Prefix.Address.Af
3707 m.Prefix.Address.Af = fib_types.AddressFamily(tmp[pos])
3709 // field[3] m.Prefix.Address.Un
3710 copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
3712 // field[2] m.Prefix.Len
3713 m.Prefix.Len = uint8(tmp[pos])
3715 // field[1] m.NumberOfRanges
3716 m.NumberOfRanges = uint8(tmp[pos])
3718 // field[1] m.LowPorts
3719 m.LowPorts = make([]uint16, 32)
3720 for i := 0; i < len(m.LowPorts); i++ {
3721 m.LowPorts[i] = uint16(o.Uint16(tmp[pos : pos+2]))
3724 // field[1] m.HighPorts
3725 m.HighPorts = make([]uint16, 32)
3726 for i := 0; i < len(m.HighPorts); i++ {
3727 m.HighPorts[i] = uint16(o.Uint16(tmp[pos : pos+2]))
3731 m.VrfID = uint32(o.Uint32(tmp[pos : pos+4]))
3736 // IPSourceAndPortRangeCheckAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_add_del_reply'.
3737 type IPSourceAndPortRangeCheckAddDelReply struct {
3738 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3741 func (m *IPSourceAndPortRangeCheckAddDelReply) Reset() { *m = IPSourceAndPortRangeCheckAddDelReply{} }
3742 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string {
3743 return "ip_source_and_port_range_check_add_del_reply"
3745 func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string { return "e8d4e804" }
3746 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType {
3747 return api.ReplyMessage
3750 func (m *IPSourceAndPortRangeCheckAddDelReply) Size() int {
3755 // field[1] m.Retval
3759 func (m *IPSourceAndPortRangeCheckAddDelReply) Marshal(b []byte) ([]byte, error) {
3760 o := binary.BigEndian
3766 buf = make([]byte, m.Size())
3770 // field[1] m.Retval
3771 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
3775 func (m *IPSourceAndPortRangeCheckAddDelReply) Unmarshal(tmp []byte) error {
3776 o := binary.BigEndian
3780 // field[1] m.Retval
3781 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
3786 // IPSourceAndPortRangeCheckInterfaceAddDel represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del'.
3787 type IPSourceAndPortRangeCheckInterfaceAddDel struct {
3788 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
3789 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
3790 TCPInVrfID uint32 `binapi:"u32,name=tcp_in_vrf_id" json:"tcp_in_vrf_id,omitempty"`
3791 TCPOutVrfID uint32 `binapi:"u32,name=tcp_out_vrf_id" json:"tcp_out_vrf_id,omitempty"`
3792 UDPInVrfID uint32 `binapi:"u32,name=udp_in_vrf_id" json:"udp_in_vrf_id,omitempty"`
3793 UDPOutVrfID uint32 `binapi:"u32,name=udp_out_vrf_id" json:"udp_out_vrf_id,omitempty"`
3796 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Reset() {
3797 *m = IPSourceAndPortRangeCheckInterfaceAddDel{}
3799 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string {
3800 return "ip_source_and_port_range_check_interface_add_del"
3802 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string { return "e1ba8987" }
3803 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType {
3804 return api.RequestMessage
3807 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Size() int {
3814 // field[1] m.SwIfIndex
3816 // field[1] m.TCPInVrfID
3818 // field[1] m.TCPOutVrfID
3820 // field[1] m.UDPInVrfID
3822 // field[1] m.UDPOutVrfID
3826 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Marshal(b []byte) ([]byte, error) {
3827 o := binary.BigEndian
3833 buf = make([]byte, m.Size())
3842 // field[1] m.SwIfIndex
3843 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
3845 // field[1] m.TCPInVrfID
3846 o.PutUint32(buf[pos:pos+4], uint32(m.TCPInVrfID))
3848 // field[1] m.TCPOutVrfID
3849 o.PutUint32(buf[pos:pos+4], uint32(m.TCPOutVrfID))
3851 // field[1] m.UDPInVrfID
3852 o.PutUint32(buf[pos:pos+4], uint32(m.UDPInVrfID))
3854 // field[1] m.UDPOutVrfID
3855 o.PutUint32(buf[pos:pos+4], uint32(m.UDPOutVrfID))
3859 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Unmarshal(tmp []byte) error {
3860 o := binary.BigEndian
3865 m.IsAdd = tmp[pos] != 0
3867 // field[1] m.SwIfIndex
3868 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
3870 // field[1] m.TCPInVrfID
3871 m.TCPInVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
3873 // field[1] m.TCPOutVrfID
3874 m.TCPOutVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
3876 // field[1] m.UDPInVrfID
3877 m.UDPInVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
3879 // field[1] m.UDPOutVrfID
3880 m.UDPOutVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
3885 // IPSourceAndPortRangeCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply'.
3886 type IPSourceAndPortRangeCheckInterfaceAddDelReply struct {
3887 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3890 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Reset() {
3891 *m = IPSourceAndPortRangeCheckInterfaceAddDelReply{}
3893 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string {
3894 return "ip_source_and_port_range_check_interface_add_del_reply"
3896 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" }
3897 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
3898 return api.ReplyMessage
3901 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Size() int {
3906 // field[1] m.Retval
3910 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Marshal(b []byte) ([]byte, error) {
3911 o := binary.BigEndian
3917 buf = make([]byte, m.Size())
3921 // field[1] m.Retval
3922 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
3926 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Unmarshal(tmp []byte) error {
3927 o := binary.BigEndian
3931 // field[1] m.Retval
3932 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
3937 // IPTableAddDel represents VPP binary API message 'ip_table_add_del'.
3938 type IPTableAddDel struct {
3939 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
3940 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
3943 func (m *IPTableAddDel) Reset() { *m = IPTableAddDel{} }
3944 func (*IPTableAddDel) GetMessageName() string { return "ip_table_add_del" }
3945 func (*IPTableAddDel) GetCrcString() string { return "0ffdaec0" }
3946 func (*IPTableAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
3948 func (m *IPTableAddDel) Size() int {
3956 // field[2] m.Table.TableID
3958 // field[2] m.Table.IsIP6
3960 // field[2] m.Table.Name
3964 func (m *IPTableAddDel) Marshal(b []byte) ([]byte, error) {
3965 o := binary.BigEndian
3971 buf = make([]byte, m.Size())
3981 // field[2] m.Table.TableID
3982 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
3984 // field[2] m.Table.IsIP6
3989 // field[2] m.Table.Name
3990 copy(buf[pos:pos+64], m.Table.Name)
3994 func (m *IPTableAddDel) Unmarshal(tmp []byte) error {
3995 o := binary.BigEndian
4000 m.IsAdd = tmp[pos] != 0
4003 // field[2] m.Table.TableID
4004 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4006 // field[2] m.Table.IsIP6
4007 m.Table.IsIP6 = tmp[pos] != 0
4009 // field[2] m.Table.Name
4011 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4012 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4018 // IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply'.
4019 type IPTableAddDelReply struct {
4020 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4023 func (m *IPTableAddDelReply) Reset() { *m = IPTableAddDelReply{} }
4024 func (*IPTableAddDelReply) GetMessageName() string { return "ip_table_add_del_reply" }
4025 func (*IPTableAddDelReply) GetCrcString() string { return "e8d4e804" }
4026 func (*IPTableAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4028 func (m *IPTableAddDelReply) Size() int {
4033 // field[1] m.Retval
4037 func (m *IPTableAddDelReply) Marshal(b []byte) ([]byte, error) {
4038 o := binary.BigEndian
4044 buf = make([]byte, m.Size())
4048 // field[1] m.Retval
4049 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4053 func (m *IPTableAddDelReply) Unmarshal(tmp []byte) error {
4054 o := binary.BigEndian
4058 // field[1] m.Retval
4059 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4064 // IPTableDetails represents VPP binary API message 'ip_table_details'.
4065 type IPTableDetails struct {
4066 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4069 func (m *IPTableDetails) Reset() { *m = IPTableDetails{} }
4070 func (*IPTableDetails) GetMessageName() string { return "ip_table_details" }
4071 func (*IPTableDetails) GetCrcString() string { return "c79fca0f" }
4072 func (*IPTableDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
4074 func (m *IPTableDetails) Size() int {
4080 // field[2] m.Table.TableID
4082 // field[2] m.Table.IsIP6
4084 // field[2] m.Table.Name
4088 func (m *IPTableDetails) Marshal(b []byte) ([]byte, error) {
4089 o := binary.BigEndian
4095 buf = make([]byte, m.Size())
4100 // field[2] m.Table.TableID
4101 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4103 // field[2] m.Table.IsIP6
4108 // field[2] m.Table.Name
4109 copy(buf[pos:pos+64], m.Table.Name)
4113 func (m *IPTableDetails) Unmarshal(tmp []byte) error {
4114 o := binary.BigEndian
4119 // field[2] m.Table.TableID
4120 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4122 // field[2] m.Table.IsIP6
4123 m.Table.IsIP6 = tmp[pos] != 0
4125 // field[2] m.Table.Name
4127 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4128 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4134 // IPTableDump represents VPP binary API message 'ip_table_dump'.
4135 type IPTableDump struct{}
4137 func (m *IPTableDump) Reset() { *m = IPTableDump{} }
4138 func (*IPTableDump) GetMessageName() string { return "ip_table_dump" }
4139 func (*IPTableDump) GetCrcString() string { return "51077d14" }
4140 func (*IPTableDump) GetMessageType() api.MessageType { return api.RequestMessage }
4142 func (m *IPTableDump) Size() int {
4149 func (m *IPTableDump) Marshal(b []byte) ([]byte, error) {
4150 o := binary.BigEndian
4156 buf = make([]byte, m.Size())
4162 func (m *IPTableDump) Unmarshal(tmp []byte) error {
4163 o := binary.BigEndian
4170 // IPTableFlush represents VPP binary API message 'ip_table_flush'.
4171 type IPTableFlush struct {
4172 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4175 func (m *IPTableFlush) Reset() { *m = IPTableFlush{} }
4176 func (*IPTableFlush) GetMessageName() string { return "ip_table_flush" }
4177 func (*IPTableFlush) GetCrcString() string { return "b9d2e09e" }
4178 func (*IPTableFlush) GetMessageType() api.MessageType { return api.RequestMessage }
4180 func (m *IPTableFlush) Size() int {
4186 // field[2] m.Table.TableID
4188 // field[2] m.Table.IsIP6
4190 // field[2] m.Table.Name
4194 func (m *IPTableFlush) Marshal(b []byte) ([]byte, error) {
4195 o := binary.BigEndian
4201 buf = make([]byte, m.Size())
4206 // field[2] m.Table.TableID
4207 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4209 // field[2] m.Table.IsIP6
4214 // field[2] m.Table.Name
4215 copy(buf[pos:pos+64], m.Table.Name)
4219 func (m *IPTableFlush) Unmarshal(tmp []byte) error {
4220 o := binary.BigEndian
4225 // field[2] m.Table.TableID
4226 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4228 // field[2] m.Table.IsIP6
4229 m.Table.IsIP6 = tmp[pos] != 0
4231 // field[2] m.Table.Name
4233 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4234 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4240 // IPTableFlushReply represents VPP binary API message 'ip_table_flush_reply'.
4241 type IPTableFlushReply struct {
4242 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4245 func (m *IPTableFlushReply) Reset() { *m = IPTableFlushReply{} }
4246 func (*IPTableFlushReply) GetMessageName() string { return "ip_table_flush_reply" }
4247 func (*IPTableFlushReply) GetCrcString() string { return "e8d4e804" }
4248 func (*IPTableFlushReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4250 func (m *IPTableFlushReply) Size() int {
4255 // field[1] m.Retval
4259 func (m *IPTableFlushReply) Marshal(b []byte) ([]byte, error) {
4260 o := binary.BigEndian
4266 buf = make([]byte, m.Size())
4270 // field[1] m.Retval
4271 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4275 func (m *IPTableFlushReply) Unmarshal(tmp []byte) error {
4276 o := binary.BigEndian
4280 // field[1] m.Retval
4281 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4286 // IPTableReplaceBegin represents VPP binary API message 'ip_table_replace_begin'.
4287 type IPTableReplaceBegin struct {
4288 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4291 func (m *IPTableReplaceBegin) Reset() { *m = IPTableReplaceBegin{} }
4292 func (*IPTableReplaceBegin) GetMessageName() string { return "ip_table_replace_begin" }
4293 func (*IPTableReplaceBegin) GetCrcString() string { return "b9d2e09e" }
4294 func (*IPTableReplaceBegin) GetMessageType() api.MessageType { return api.RequestMessage }
4296 func (m *IPTableReplaceBegin) Size() int {
4302 // field[2] m.Table.TableID
4304 // field[2] m.Table.IsIP6
4306 // field[2] m.Table.Name
4310 func (m *IPTableReplaceBegin) Marshal(b []byte) ([]byte, error) {
4311 o := binary.BigEndian
4317 buf = make([]byte, m.Size())
4322 // field[2] m.Table.TableID
4323 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4325 // field[2] m.Table.IsIP6
4330 // field[2] m.Table.Name
4331 copy(buf[pos:pos+64], m.Table.Name)
4335 func (m *IPTableReplaceBegin) Unmarshal(tmp []byte) error {
4336 o := binary.BigEndian
4341 // field[2] m.Table.TableID
4342 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4344 // field[2] m.Table.IsIP6
4345 m.Table.IsIP6 = tmp[pos] != 0
4347 // field[2] m.Table.Name
4349 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4350 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4356 // IPTableReplaceBeginReply represents VPP binary API message 'ip_table_replace_begin_reply'.
4357 type IPTableReplaceBeginReply struct {
4358 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4361 func (m *IPTableReplaceBeginReply) Reset() { *m = IPTableReplaceBeginReply{} }
4362 func (*IPTableReplaceBeginReply) GetMessageName() string { return "ip_table_replace_begin_reply" }
4363 func (*IPTableReplaceBeginReply) GetCrcString() string { return "e8d4e804" }
4364 func (*IPTableReplaceBeginReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4366 func (m *IPTableReplaceBeginReply) Size() int {
4371 // field[1] m.Retval
4375 func (m *IPTableReplaceBeginReply) Marshal(b []byte) ([]byte, error) {
4376 o := binary.BigEndian
4382 buf = make([]byte, m.Size())
4386 // field[1] m.Retval
4387 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4391 func (m *IPTableReplaceBeginReply) Unmarshal(tmp []byte) error {
4392 o := binary.BigEndian
4396 // field[1] m.Retval
4397 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4402 // IPTableReplaceEnd represents VPP binary API message 'ip_table_replace_end'.
4403 type IPTableReplaceEnd struct {
4404 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4407 func (m *IPTableReplaceEnd) Reset() { *m = IPTableReplaceEnd{} }
4408 func (*IPTableReplaceEnd) GetMessageName() string { return "ip_table_replace_end" }
4409 func (*IPTableReplaceEnd) GetCrcString() string { return "b9d2e09e" }
4410 func (*IPTableReplaceEnd) GetMessageType() api.MessageType { return api.RequestMessage }
4412 func (m *IPTableReplaceEnd) Size() int {
4418 // field[2] m.Table.TableID
4420 // field[2] m.Table.IsIP6
4422 // field[2] m.Table.Name
4426 func (m *IPTableReplaceEnd) Marshal(b []byte) ([]byte, error) {
4427 o := binary.BigEndian
4433 buf = make([]byte, m.Size())
4438 // field[2] m.Table.TableID
4439 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4441 // field[2] m.Table.IsIP6
4446 // field[2] m.Table.Name
4447 copy(buf[pos:pos+64], m.Table.Name)
4451 func (m *IPTableReplaceEnd) Unmarshal(tmp []byte) error {
4452 o := binary.BigEndian
4457 // field[2] m.Table.TableID
4458 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4460 // field[2] m.Table.IsIP6
4461 m.Table.IsIP6 = tmp[pos] != 0
4463 // field[2] m.Table.Name
4465 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4466 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4472 // IPTableReplaceEndReply represents VPP binary API message 'ip_table_replace_end_reply'.
4473 type IPTableReplaceEndReply struct {
4474 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4477 func (m *IPTableReplaceEndReply) Reset() { *m = IPTableReplaceEndReply{} }
4478 func (*IPTableReplaceEndReply) GetMessageName() string { return "ip_table_replace_end_reply" }
4479 func (*IPTableReplaceEndReply) GetCrcString() string { return "e8d4e804" }
4480 func (*IPTableReplaceEndReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4482 func (m *IPTableReplaceEndReply) Size() int {
4487 // field[1] m.Retval
4491 func (m *IPTableReplaceEndReply) Marshal(b []byte) ([]byte, error) {
4492 o := binary.BigEndian
4498 buf = make([]byte, m.Size())
4502 // field[1] m.Retval
4503 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4507 func (m *IPTableReplaceEndReply) Unmarshal(tmp []byte) error {
4508 o := binary.BigEndian
4512 // field[1] m.Retval
4513 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4518 // IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details'.
4519 type IPUnnumberedDetails struct {
4520 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
4521 IPSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=ip_sw_if_index" json:"ip_sw_if_index,omitempty"`
4524 func (m *IPUnnumberedDetails) Reset() { *m = IPUnnumberedDetails{} }
4525 func (*IPUnnumberedDetails) GetMessageName() string { return "ip_unnumbered_details" }
4526 func (*IPUnnumberedDetails) GetCrcString() string { return "aa12a483" }
4527 func (*IPUnnumberedDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
4529 func (m *IPUnnumberedDetails) Size() int {
4534 // field[1] m.SwIfIndex
4536 // field[1] m.IPSwIfIndex
4540 func (m *IPUnnumberedDetails) Marshal(b []byte) ([]byte, error) {
4541 o := binary.BigEndian
4547 buf = make([]byte, m.Size())
4551 // field[1] m.SwIfIndex
4552 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
4554 // field[1] m.IPSwIfIndex
4555 o.PutUint32(buf[pos:pos+4], uint32(m.IPSwIfIndex))
4559 func (m *IPUnnumberedDetails) Unmarshal(tmp []byte) error {
4560 o := binary.BigEndian
4564 // field[1] m.SwIfIndex
4565 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
4567 // field[1] m.IPSwIfIndex
4568 m.IPSwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
4573 // IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump'.
4574 type IPUnnumberedDump struct {
4575 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4.294967295e+09" json:"sw_if_index,omitempty"`
4578 func (m *IPUnnumberedDump) Reset() { *m = IPUnnumberedDump{} }
4579 func (*IPUnnumberedDump) GetMessageName() string { return "ip_unnumbered_dump" }
4580 func (*IPUnnumberedDump) GetCrcString() string { return "f9e6675e" }
4581 func (*IPUnnumberedDump) GetMessageType() api.MessageType { return api.RequestMessage }
4583 func (m *IPUnnumberedDump) Size() int {
4588 // field[1] m.SwIfIndex
4592 func (m *IPUnnumberedDump) Marshal(b []byte) ([]byte, error) {
4593 o := binary.BigEndian
4599 buf = make([]byte, m.Size())
4603 // field[1] m.SwIfIndex
4604 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
4608 func (m *IPUnnumberedDump) Unmarshal(tmp []byte) error {
4609 o := binary.BigEndian
4613 // field[1] m.SwIfIndex
4614 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
4619 // MfibSignalDetails represents VPP binary API message 'mfib_signal_details'.
4620 type MfibSignalDetails struct {
4621 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
4622 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
4623 Prefix fib_types.Mprefix `binapi:"mprefix,name=prefix" json:"prefix,omitempty"`
4624 IPPacketLen uint16 `binapi:"u16,name=ip_packet_len" json:"ip_packet_len,omitempty"`
4625 IPPacketData []byte `binapi:"u8[256],name=ip_packet_data" json:"ip_packet_data,omitempty" struc:"[256]byte"`
4628 func (m *MfibSignalDetails) Reset() { *m = MfibSignalDetails{} }
4629 func (*MfibSignalDetails) GetMessageName() string { return "mfib_signal_details" }
4630 func (*MfibSignalDetails) GetCrcString() string { return "64398a9a" }
4631 func (*MfibSignalDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
4633 func (m *MfibSignalDetails) Size() int {
4638 // field[1] m.SwIfIndex
4640 // field[1] m.TableID
4642 // field[1] m.Prefix
4643 // field[2] m.Prefix.Af
4645 // field[2] m.Prefix.GrpAddressLength
4647 // field[2] m.Prefix.GrpAddress
4649 // field[2] m.Prefix.SrcAddress
4651 // field[1] m.IPPacketLen
4653 // field[1] m.IPPacketData
4657 func (m *MfibSignalDetails) Marshal(b []byte) ([]byte, error) {
4658 o := binary.BigEndian
4664 buf = make([]byte, m.Size())
4668 // field[1] m.SwIfIndex
4669 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
4671 // field[1] m.TableID
4672 o.PutUint32(buf[pos:pos+4], uint32(m.TableID))
4674 // field[1] m.Prefix
4675 // field[2] m.Prefix.Af
4676 buf[pos] = uint8(m.Prefix.Af)
4678 // field[2] m.Prefix.GrpAddressLength
4679 o.PutUint16(buf[pos:pos+2], uint16(m.Prefix.GrpAddressLength))
4681 // field[2] m.Prefix.GrpAddress
4682 copy(buf[pos:pos+16], m.Prefix.GrpAddress.XXX_UnionData[:])
4684 // field[2] m.Prefix.SrcAddress
4685 copy(buf[pos:pos+16], m.Prefix.SrcAddress.XXX_UnionData[:])
4687 // field[1] m.IPPacketLen
4688 o.PutUint16(buf[pos:pos+2], uint16(m.IPPacketLen))
4690 // field[1] m.IPPacketData
4691 for i := 0; i < 256; i++ {
4693 if i < len(m.IPPacketData) {
4694 x = uint8(m.IPPacketData[i])
4701 func (m *MfibSignalDetails) Unmarshal(tmp []byte) error {
4702 o := binary.BigEndian
4706 // field[1] m.SwIfIndex
4707 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
4709 // field[1] m.TableID
4710 m.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4712 // field[1] m.Prefix
4713 // field[2] m.Prefix.Af
4714 m.Prefix.Af = fib_types.AddressFamily(tmp[pos])
4716 // field[2] m.Prefix.GrpAddressLength
4717 m.Prefix.GrpAddressLength = uint16(o.Uint16(tmp[pos : pos+2]))
4719 // field[2] m.Prefix.GrpAddress
4720 copy(m.Prefix.GrpAddress.XXX_UnionData[:], tmp[pos:pos+16])
4722 // field[2] m.Prefix.SrcAddress
4723 copy(m.Prefix.SrcAddress.XXX_UnionData[:], tmp[pos:pos+16])
4725 // field[1] m.IPPacketLen
4726 m.IPPacketLen = uint16(o.Uint16(tmp[pos : pos+2]))
4728 // field[1] m.IPPacketData
4729 m.IPPacketData = make([]uint8, 256)
4730 for i := 0; i < len(m.IPPacketData); i++ {
4731 m.IPPacketData[i] = uint8(tmp[pos])
4737 // MfibSignalDump represents VPP binary API message 'mfib_signal_dump'.
4738 type MfibSignalDump struct{}
4740 func (m *MfibSignalDump) Reset() { *m = MfibSignalDump{} }
4741 func (*MfibSignalDump) GetMessageName() string { return "mfib_signal_dump" }
4742 func (*MfibSignalDump) GetCrcString() string { return "51077d14" }
4743 func (*MfibSignalDump) GetMessageType() api.MessageType { return api.RequestMessage }
4745 func (m *MfibSignalDump) Size() int {
4752 func (m *MfibSignalDump) Marshal(b []byte) ([]byte, error) {
4753 o := binary.BigEndian
4759 buf = make([]byte, m.Size())
4765 func (m *MfibSignalDump) Unmarshal(tmp []byte) error {
4766 o := binary.BigEndian
4773 // SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash'.
4774 type SetIPFlowHash struct {
4775 VrfID uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
4776 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
4777 Src bool `binapi:"bool,name=src" json:"src,omitempty"`
4778 Dst bool `binapi:"bool,name=dst" json:"dst,omitempty"`
4779 Sport bool `binapi:"bool,name=sport" json:"sport,omitempty"`
4780 Dport bool `binapi:"bool,name=dport" json:"dport,omitempty"`
4781 Proto bool `binapi:"bool,name=proto" json:"proto,omitempty"`
4782 Reverse bool `binapi:"bool,name=reverse" json:"reverse,omitempty"`
4783 Symmetric bool `binapi:"bool,name=symmetric" json:"symmetric,omitempty"`
4786 func (m *SetIPFlowHash) Reset() { *m = SetIPFlowHash{} }
4787 func (*SetIPFlowHash) GetMessageName() string { return "set_ip_flow_hash" }
4788 func (*SetIPFlowHash) GetCrcString() string { return "084ee09e" }
4789 func (*SetIPFlowHash) GetMessageType() api.MessageType { return api.RequestMessage }
4791 func (m *SetIPFlowHash) Size() int {
4798 // field[1] m.IsIPv6
4810 // field[1] m.Reverse
4812 // field[1] m.Symmetric
4816 func (m *SetIPFlowHash) Marshal(b []byte) ([]byte, error) {
4817 o := binary.BigEndian
4823 buf = make([]byte, m.Size())
4828 o.PutUint32(buf[pos:pos+4], uint32(m.VrfID))
4830 // field[1] m.IsIPv6
4860 // field[1] m.Reverse
4865 // field[1] m.Symmetric
4872 func (m *SetIPFlowHash) Unmarshal(tmp []byte) error {
4873 o := binary.BigEndian
4878 m.VrfID = uint32(o.Uint32(tmp[pos : pos+4]))
4880 // field[1] m.IsIPv6
4881 m.IsIPv6 = tmp[pos] != 0
4884 m.Src = tmp[pos] != 0
4887 m.Dst = tmp[pos] != 0
4890 m.Sport = tmp[pos] != 0
4893 m.Dport = tmp[pos] != 0
4896 m.Proto = tmp[pos] != 0
4898 // field[1] m.Reverse
4899 m.Reverse = tmp[pos] != 0
4901 // field[1] m.Symmetric
4902 m.Symmetric = tmp[pos] != 0
4907 // SetIPFlowHashReply represents VPP binary API message 'set_ip_flow_hash_reply'.
4908 type SetIPFlowHashReply struct {
4909 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4912 func (m *SetIPFlowHashReply) Reset() { *m = SetIPFlowHashReply{} }
4913 func (*SetIPFlowHashReply) GetMessageName() string { return "set_ip_flow_hash_reply" }
4914 func (*SetIPFlowHashReply) GetCrcString() string { return "e8d4e804" }
4915 func (*SetIPFlowHashReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4917 func (m *SetIPFlowHashReply) Size() int {
4922 // field[1] m.Retval
4926 func (m *SetIPFlowHashReply) Marshal(b []byte) ([]byte, error) {
4927 o := binary.BigEndian
4933 buf = make([]byte, m.Size())
4937 // field[1] m.Retval
4938 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4942 func (m *SetIPFlowHashReply) Unmarshal(tmp []byte) error {
4943 o := binary.BigEndian
4947 // field[1] m.Retval
4948 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4953 // SwInterfaceIP6EnableDisable represents VPP binary API message 'sw_interface_ip6_enable_disable'.
4954 type SwInterfaceIP6EnableDisable struct {
4955 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
4956 Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"`
4959 func (m *SwInterfaceIP6EnableDisable) Reset() { *m = SwInterfaceIP6EnableDisable{} }
4960 func (*SwInterfaceIP6EnableDisable) GetMessageName() string { return "sw_interface_ip6_enable_disable" }
4961 func (*SwInterfaceIP6EnableDisable) GetCrcString() string { return "ae6cfcfb" }
4962 func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType { return api.RequestMessage }
4964 func (m *SwInterfaceIP6EnableDisable) Size() int {
4969 // field[1] m.SwIfIndex
4971 // field[1] m.Enable
4975 func (m *SwInterfaceIP6EnableDisable) Marshal(b []byte) ([]byte, error) {
4976 o := binary.BigEndian
4982 buf = make([]byte, m.Size())
4986 // field[1] m.SwIfIndex
4987 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
4989 // field[1] m.Enable
4996 func (m *SwInterfaceIP6EnableDisable) Unmarshal(tmp []byte) error {
4997 o := binary.BigEndian
5001 // field[1] m.SwIfIndex
5002 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
5004 // field[1] m.Enable
5005 m.Enable = tmp[pos] != 0
5010 // SwInterfaceIP6EnableDisableReply represents VPP binary API message 'sw_interface_ip6_enable_disable_reply'.
5011 type SwInterfaceIP6EnableDisableReply struct {
5012 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
5015 func (m *SwInterfaceIP6EnableDisableReply) Reset() { *m = SwInterfaceIP6EnableDisableReply{} }
5016 func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string {
5017 return "sw_interface_ip6_enable_disable_reply"
5019 func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string { return "e8d4e804" }
5020 func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
5022 func (m *SwInterfaceIP6EnableDisableReply) Size() int {
5027 // field[1] m.Retval
5031 func (m *SwInterfaceIP6EnableDisableReply) Marshal(b []byte) ([]byte, error) {
5032 o := binary.BigEndian
5038 buf = make([]byte, m.Size())
5042 // field[1] m.Retval
5043 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
5047 func (m *SwInterfaceIP6EnableDisableReply) Unmarshal(tmp []byte) error {
5048 o := binary.BigEndian
5052 // field[1] m.Retval
5053 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
5058 // SwInterfaceIP6SetLinkLocalAddress represents VPP binary API message 'sw_interface_ip6_set_link_local_address'.
5059 type SwInterfaceIP6SetLinkLocalAddress struct {
5060 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
5061 IP fib_types.IP6Address `binapi:"ip6_address,name=ip" json:"ip,omitempty"`
5064 func (m *SwInterfaceIP6SetLinkLocalAddress) Reset() { *m = SwInterfaceIP6SetLinkLocalAddress{} }
5065 func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageName() string {
5066 return "sw_interface_ip6_set_link_local_address"
5068 func (*SwInterfaceIP6SetLinkLocalAddress) GetCrcString() string { return "2931d9fa" }
5069 func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageType() api.MessageType { return api.RequestMessage }
5071 func (m *SwInterfaceIP6SetLinkLocalAddress) Size() int {
5076 // field[1] m.SwIfIndex
5082 func (m *SwInterfaceIP6SetLinkLocalAddress) Marshal(b []byte) ([]byte, error) {
5083 o := binary.BigEndian
5089 buf = make([]byte, m.Size())
5093 // field[1] m.SwIfIndex
5094 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
5097 for i := 0; i < 16; i++ {
5107 func (m *SwInterfaceIP6SetLinkLocalAddress) Unmarshal(tmp []byte) error {
5108 o := binary.BigEndian
5112 // field[1] m.SwIfIndex
5113 m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
5116 for i := 0; i < len(m.IP); i++ {
5117 m.IP[i] = uint8(tmp[pos])
5123 // SwInterfaceIP6SetLinkLocalAddressReply represents VPP binary API message 'sw_interface_ip6_set_link_local_address_reply'.
5124 type SwInterfaceIP6SetLinkLocalAddressReply struct {
5125 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
5128 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Reset() {
5129 *m = SwInterfaceIP6SetLinkLocalAddressReply{}
5131 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageName() string {
5132 return "sw_interface_ip6_set_link_local_address_reply"
5134 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetCrcString() string { return "e8d4e804" }
5135 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageType() api.MessageType {
5136 return api.ReplyMessage
5139 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Size() int {
5144 // field[1] m.Retval
5148 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Marshal(b []byte) ([]byte, error) {
5149 o := binary.BigEndian
5155 buf = make([]byte, m.Size())
5159 // field[1] m.Retval
5160 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
5164 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Unmarshal(tmp []byte) error {
5165 o := binary.BigEndian
5169 // field[1] m.Retval
5170 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
5175 func init() { file_ip_binapi_init() }
5176 func file_ip_binapi_init() {
5177 api.RegisterMessage((*IoamDisable)(nil), "ip.IoamDisable")
5178 api.RegisterMessage((*IoamDisableReply)(nil), "ip.IoamDisableReply")
5179 api.RegisterMessage((*IoamEnable)(nil), "ip.IoamEnable")
5180 api.RegisterMessage((*IoamEnableReply)(nil), "ip.IoamEnableReply")
5181 api.RegisterMessage((*IPAddressDetails)(nil), "ip.IPAddressDetails")
5182 api.RegisterMessage((*IPAddressDump)(nil), "ip.IPAddressDump")
5183 api.RegisterMessage((*IPContainerProxyAddDel)(nil), "ip.IPContainerProxyAddDel")
5184 api.RegisterMessage((*IPContainerProxyAddDelReply)(nil), "ip.IPContainerProxyAddDelReply")
5185 api.RegisterMessage((*IPContainerProxyDetails)(nil), "ip.IPContainerProxyDetails")
5186 api.RegisterMessage((*IPContainerProxyDump)(nil), "ip.IPContainerProxyDump")
5187 api.RegisterMessage((*IPDetails)(nil), "ip.IPDetails")
5188 api.RegisterMessage((*IPDump)(nil), "ip.IPDump")
5189 api.RegisterMessage((*IPMrouteAddDel)(nil), "ip.IPMrouteAddDel")
5190 api.RegisterMessage((*IPMrouteAddDelReply)(nil), "ip.IPMrouteAddDelReply")
5191 api.RegisterMessage((*IPMrouteDetails)(nil), "ip.IPMrouteDetails")
5192 api.RegisterMessage((*IPMrouteDump)(nil), "ip.IPMrouteDump")
5193 api.RegisterMessage((*IPMtableDetails)(nil), "ip.IPMtableDetails")
5194 api.RegisterMessage((*IPMtableDump)(nil), "ip.IPMtableDump")
5195 api.RegisterMessage((*IPPuntPolice)(nil), "ip.IPPuntPolice")
5196 api.RegisterMessage((*IPPuntPoliceReply)(nil), "ip.IPPuntPoliceReply")
5197 api.RegisterMessage((*IPPuntRedirect)(nil), "ip.IPPuntRedirect")
5198 api.RegisterMessage((*IPPuntRedirectDetails)(nil), "ip.IPPuntRedirectDetails")
5199 api.RegisterMessage((*IPPuntRedirectDump)(nil), "ip.IPPuntRedirectDump")
5200 api.RegisterMessage((*IPPuntRedirectReply)(nil), "ip.IPPuntRedirectReply")
5201 api.RegisterMessage((*IPReassemblyEnableDisable)(nil), "ip.IPReassemblyEnableDisable")
5202 api.RegisterMessage((*IPReassemblyEnableDisableReply)(nil), "ip.IPReassemblyEnableDisableReply")
5203 api.RegisterMessage((*IPReassemblyGet)(nil), "ip.IPReassemblyGet")
5204 api.RegisterMessage((*IPReassemblyGetReply)(nil), "ip.IPReassemblyGetReply")
5205 api.RegisterMessage((*IPReassemblySet)(nil), "ip.IPReassemblySet")
5206 api.RegisterMessage((*IPReassemblySetReply)(nil), "ip.IPReassemblySetReply")
5207 api.RegisterMessage((*IPRouteAddDel)(nil), "ip.IPRouteAddDel")
5208 api.RegisterMessage((*IPRouteAddDelReply)(nil), "ip.IPRouteAddDelReply")
5209 api.RegisterMessage((*IPRouteDetails)(nil), "ip.IPRouteDetails")
5210 api.RegisterMessage((*IPRouteDump)(nil), "ip.IPRouteDump")
5211 api.RegisterMessage((*IPRouteLookup)(nil), "ip.IPRouteLookup")
5212 api.RegisterMessage((*IPRouteLookupReply)(nil), "ip.IPRouteLookupReply")
5213 api.RegisterMessage((*IPSourceAndPortRangeCheckAddDel)(nil), "ip.IPSourceAndPortRangeCheckAddDel")
5214 api.RegisterMessage((*IPSourceAndPortRangeCheckAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckAddDelReply")
5215 api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDel)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDel")
5216 api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDelReply")
5217 api.RegisterMessage((*IPTableAddDel)(nil), "ip.IPTableAddDel")
5218 api.RegisterMessage((*IPTableAddDelReply)(nil), "ip.IPTableAddDelReply")
5219 api.RegisterMessage((*IPTableDetails)(nil), "ip.IPTableDetails")
5220 api.RegisterMessage((*IPTableDump)(nil), "ip.IPTableDump")
5221 api.RegisterMessage((*IPTableFlush)(nil), "ip.IPTableFlush")
5222 api.RegisterMessage((*IPTableFlushReply)(nil), "ip.IPTableFlushReply")
5223 api.RegisterMessage((*IPTableReplaceBegin)(nil), "ip.IPTableReplaceBegin")
5224 api.RegisterMessage((*IPTableReplaceBeginReply)(nil), "ip.IPTableReplaceBeginReply")
5225 api.RegisterMessage((*IPTableReplaceEnd)(nil), "ip.IPTableReplaceEnd")
5226 api.RegisterMessage((*IPTableReplaceEndReply)(nil), "ip.IPTableReplaceEndReply")
5227 api.RegisterMessage((*IPUnnumberedDetails)(nil), "ip.IPUnnumberedDetails")
5228 api.RegisterMessage((*IPUnnumberedDump)(nil), "ip.IPUnnumberedDump")
5229 api.RegisterMessage((*MfibSignalDetails)(nil), "ip.MfibSignalDetails")
5230 api.RegisterMessage((*MfibSignalDump)(nil), "ip.MfibSignalDump")
5231 api.RegisterMessage((*SetIPFlowHash)(nil), "ip.SetIPFlowHash")
5232 api.RegisterMessage((*SetIPFlowHashReply)(nil), "ip.SetIPFlowHashReply")
5233 api.RegisterMessage((*SwInterfaceIP6EnableDisable)(nil), "ip.SwInterfaceIP6EnableDisable")
5234 api.RegisterMessage((*SwInterfaceIP6EnableDisableReply)(nil), "ip.SwInterfaceIP6EnableDisableReply")
5235 api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddress)(nil), "ip.SwInterfaceIP6SetLinkLocalAddress")
5236 api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddressReply)(nil), "ip.SwInterfaceIP6SetLinkLocalAddressReply")
5239 // Messages returns list of all messages in this module.
5240 func AllMessages() []api.Message {
5241 return []api.Message{
5242 (*IoamDisable)(nil),
5243 (*IoamDisableReply)(nil),
5245 (*IoamEnableReply)(nil),
5246 (*IPAddressDetails)(nil),
5247 (*IPAddressDump)(nil),
5248 (*IPContainerProxyAddDel)(nil),
5249 (*IPContainerProxyAddDelReply)(nil),
5250 (*IPContainerProxyDetails)(nil),
5251 (*IPContainerProxyDump)(nil),
5254 (*IPMrouteAddDel)(nil),
5255 (*IPMrouteAddDelReply)(nil),
5256 (*IPMrouteDetails)(nil),
5257 (*IPMrouteDump)(nil),
5258 (*IPMtableDetails)(nil),
5259 (*IPMtableDump)(nil),
5260 (*IPPuntPolice)(nil),
5261 (*IPPuntPoliceReply)(nil),
5262 (*IPPuntRedirect)(nil),
5263 (*IPPuntRedirectDetails)(nil),
5264 (*IPPuntRedirectDump)(nil),
5265 (*IPPuntRedirectReply)(nil),
5266 (*IPReassemblyEnableDisable)(nil),
5267 (*IPReassemblyEnableDisableReply)(nil),
5268 (*IPReassemblyGet)(nil),
5269 (*IPReassemblyGetReply)(nil),
5270 (*IPReassemblySet)(nil),
5271 (*IPReassemblySetReply)(nil),
5272 (*IPRouteAddDel)(nil),
5273 (*IPRouteAddDelReply)(nil),
5274 (*IPRouteDetails)(nil),
5275 (*IPRouteDump)(nil),
5276 (*IPRouteLookup)(nil),
5277 (*IPRouteLookupReply)(nil),
5278 (*IPSourceAndPortRangeCheckAddDel)(nil),
5279 (*IPSourceAndPortRangeCheckAddDelReply)(nil),
5280 (*IPSourceAndPortRangeCheckInterfaceAddDel)(nil),
5281 (*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil),
5282 (*IPTableAddDel)(nil),
5283 (*IPTableAddDelReply)(nil),
5284 (*IPTableDetails)(nil),
5285 (*IPTableDump)(nil),
5286 (*IPTableFlush)(nil),
5287 (*IPTableFlushReply)(nil),
5288 (*IPTableReplaceBegin)(nil),
5289 (*IPTableReplaceBeginReply)(nil),
5290 (*IPTableReplaceEnd)(nil),
5291 (*IPTableReplaceEndReply)(nil),
5292 (*IPUnnumberedDetails)(nil),
5293 (*IPUnnumberedDump)(nil),
5294 (*MfibSignalDetails)(nil),
5295 (*MfibSignalDump)(nil),
5296 (*SetIPFlowHash)(nil),
5297 (*SetIPFlowHashReply)(nil),
5298 (*SwInterfaceIP6EnableDisable)(nil),
5299 (*SwInterfaceIP6EnableDisableReply)(nil),
5300 (*SwInterfaceIP6SetLinkLocalAddress)(nil),
5301 (*SwInterfaceIP6SetLinkLocalAddressReply)(nil),
5305 // Reference imports to suppress errors if they are not otherwise used.
5306 var _ = api.RegisterMessage
5307 var _ = codec.DecodeString
5308 var _ = bytes.NewBuffer
5309 var _ = context.Background
5311 var _ = strconv.Itoa
5312 var _ = strings.Contains
5314 var _ = binary.BigEndian
5315 var _ = math.Float32bits