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).
27 api "git.fd.io/govpp.git/api"
28 codec "git.fd.io/govpp.git/codec"
29 struc "github.com/lunixbochs/struc"
31 fib_types "git.fd.io/govpp.git/examples/binapi/fib_types"
32 interface_types "git.fd.io/govpp.git/examples/binapi/interface_types"
35 // This is a compile-time assertion to ensure that this generated file
36 // is compatible with the GoVPP api package it is being compiled against.
37 // A compilation error at this line likely means your copy of the
38 // GoVPP api package needs to be updated.
39 const _ = api.GoVppAPIPackageIsVersion2 // please upgrade the GoVPP api package
42 // ModuleName is the name of this module.
44 // APIVersion is the API version of this module.
46 // VersionCrc is the CRC of this module.
47 VersionCrc = 0x765d74b1
50 type AddressFamily = fib_types.AddressFamily
52 type FibPathFlags = fib_types.FibPathFlags
54 type FibPathNhProto = fib_types.FibPathNhProto
56 type FibPathType = fib_types.FibPathType
58 type IfStatusFlags = interface_types.IfStatusFlags
60 type IfType = interface_types.IfType
62 type IPDscp = fib_types.IPDscp
64 type IPEcn = fib_types.IPEcn
66 type IPProto = fib_types.IPProto
68 // IPReassType represents VPP binary API enum 'ip_reass_type'.
69 type IPReassType uint32
72 IP_REASS_TYPE_FULL IPReassType = 0
73 IP_REASS_TYPE_SHALLOW_VIRTUAL IPReassType = 1
77 IPReassType_name = map[uint32]string{
78 0: "IP_REASS_TYPE_FULL",
79 1: "IP_REASS_TYPE_SHALLOW_VIRTUAL",
81 IPReassType_value = map[string]uint32{
82 "IP_REASS_TYPE_FULL": 0,
83 "IP_REASS_TYPE_SHALLOW_VIRTUAL": 1,
87 func (x IPReassType) String() string {
88 s, ok := IPReassType_name[uint32(x)]
92 return "IPReassType(" + strconv.Itoa(int(x)) + ")"
95 type LinkDuplex = interface_types.LinkDuplex
97 // MfibItfFlags represents VPP binary API enum 'mfib_itf_flags'.
98 type MfibItfFlags uint32
101 MFIB_API_ITF_FLAG_NONE MfibItfFlags = 0
102 MFIB_API_ITF_FLAG_NEGATE_SIGNAL MfibItfFlags = 1
103 MFIB_API_ITF_FLAG_ACCEPT MfibItfFlags = 2
104 MFIB_API_ITF_FLAG_FORWARD MfibItfFlags = 4
105 MFIB_API_ITF_FLAG_SIGNAL_PRESENT MfibItfFlags = 8
106 MFIB_API_ITF_FLAG_DONT_PRESERVE MfibItfFlags = 16
110 MfibItfFlags_name = map[uint32]string{
111 0: "MFIB_API_ITF_FLAG_NONE",
112 1: "MFIB_API_ITF_FLAG_NEGATE_SIGNAL",
113 2: "MFIB_API_ITF_FLAG_ACCEPT",
114 4: "MFIB_API_ITF_FLAG_FORWARD",
115 8: "MFIB_API_ITF_FLAG_SIGNAL_PRESENT",
116 16: "MFIB_API_ITF_FLAG_DONT_PRESERVE",
118 MfibItfFlags_value = map[string]uint32{
119 "MFIB_API_ITF_FLAG_NONE": 0,
120 "MFIB_API_ITF_FLAG_NEGATE_SIGNAL": 1,
121 "MFIB_API_ITF_FLAG_ACCEPT": 2,
122 "MFIB_API_ITF_FLAG_FORWARD": 4,
123 "MFIB_API_ITF_FLAG_SIGNAL_PRESENT": 8,
124 "MFIB_API_ITF_FLAG_DONT_PRESERVE": 16,
128 func (x MfibItfFlags) String() string {
129 s, ok := MfibItfFlags_name[uint32(x)]
133 return "MfibItfFlags(" + strconv.Itoa(int(x)) + ")"
136 type MtuProto = interface_types.MtuProto
138 type RxMode = interface_types.RxMode
140 type SubIfFlags = interface_types.SubIfFlags
142 type AddressWithPrefix = fib_types.AddressWithPrefix
144 type InterfaceIndex = interface_types.InterfaceIndex
146 type IP4Address = fib_types.IP4Address
148 type IP4AddressWithPrefix = fib_types.IP4AddressWithPrefix
150 type IP6Address = fib_types.IP6Address
152 type IP6AddressWithPrefix = fib_types.IP6AddressWithPrefix
154 // MacAddress represents VPP binary API alias 'mac_address'.
155 type MacAddress [6]uint8
157 type Address = fib_types.Address
159 type FibMplsLabel = fib_types.FibMplsLabel
161 type FibPath = fib_types.FibPath
163 type FibPathNh = fib_types.FibPathNh
165 type IP4Prefix = fib_types.IP4Prefix
167 type IP6Prefix = fib_types.IP6Prefix
169 // IPMroute represents VPP binary API type 'ip_mroute'.
170 type IPMroute struct {
171 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
172 EntryFlags uint32 `binapi:"u32,name=entry_flags" json:"entry_flags,omitempty"`
173 RpfID uint32 `binapi:"u32,name=rpf_id" json:"rpf_id,omitempty"`
174 Prefix Mprefix `binapi:"mprefix,name=prefix" json:"prefix,omitempty"`
175 NPaths uint8 `binapi:"u8,name=n_paths" json:"n_paths,omitempty" struc:"sizeof=Paths"`
176 Paths []MfibPath `binapi:"mfib_path[n_paths],name=paths" json:"paths,omitempty"`
179 func (*IPMroute) GetTypeName() string { return "ip_mroute" }
181 // IPRoute represents VPP binary API type 'ip_route'.
182 type IPRoute struct {
183 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
184 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
185 Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
186 NPaths uint8 `binapi:"u8,name=n_paths" json:"n_paths,omitempty" struc:"sizeof=Paths"`
187 Paths []FibPath `binapi:"fib_path[n_paths],name=paths" json:"paths,omitempty"`
190 func (*IPRoute) GetTypeName() string { return "ip_route" }
192 // IPTable represents VPP binary API type 'ip_table'.
193 type IPTable struct {
194 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
195 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
196 Name string `binapi:"string[64],name=name" json:"name,omitempty" struc:"[64]byte"`
199 func (*IPTable) GetTypeName() string { return "ip_table" }
201 // MfibPath represents VPP binary API type 'mfib_path'.
202 type MfibPath struct {
203 ItfFlags MfibItfFlags `binapi:"mfib_itf_flags,name=itf_flags" json:"itf_flags,omitempty"`
204 Path FibPath `binapi:"fib_path,name=path" json:"path,omitempty"`
207 func (*MfibPath) GetTypeName() string { return "mfib_path" }
209 type Mprefix = fib_types.Mprefix
211 type Prefix = fib_types.Prefix
213 type PrefixMatcher = fib_types.PrefixMatcher
215 // PuntRedirect represents VPP binary API type 'punt_redirect'.
216 type PuntRedirect struct {
217 RxSwIfIndex InterfaceIndex `binapi:"interface_index,name=rx_sw_if_index" json:"rx_sw_if_index,omitempty"`
218 TxSwIfIndex InterfaceIndex `binapi:"interface_index,name=tx_sw_if_index" json:"tx_sw_if_index,omitempty"`
219 Nh Address `binapi:"address,name=nh" json:"nh,omitempty"`
222 func (*PuntRedirect) GetTypeName() string { return "punt_redirect" }
224 type AddressUnion = fib_types.AddressUnion
226 // IoamDisable represents VPP binary API message 'ioam_disable'.
227 type IoamDisable struct {
228 ID uint16 `binapi:"u16,name=id" json:"id,omitempty"`
231 func (m *IoamDisable) Reset() { *m = IoamDisable{} }
232 func (*IoamDisable) GetMessageName() string { return "ioam_disable" }
233 func (*IoamDisable) GetCrcString() string { return "6b16a45e" }
234 func (*IoamDisable) GetMessageType() api.MessageType { return api.RequestMessage }
236 func (m *IoamDisable) Size() int {
245 func (m *IoamDisable) Marshal(b []byte) ([]byte, error) {
246 o := binary.BigEndian
252 buf = make([]byte, m.Size())
257 o.PutUint16(buf[pos:pos+2], uint16(m.ID))
261 func (m *IoamDisable) Unmarshal(tmp []byte) error {
262 o := binary.BigEndian
267 m.ID = uint16(o.Uint16(tmp[pos : pos+2]))
272 // IoamDisableReply represents VPP binary API message 'ioam_disable_reply'.
273 type IoamDisableReply struct {
274 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
277 func (m *IoamDisableReply) Reset() { *m = IoamDisableReply{} }
278 func (*IoamDisableReply) GetMessageName() string { return "ioam_disable_reply" }
279 func (*IoamDisableReply) GetCrcString() string { return "e8d4e804" }
280 func (*IoamDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
282 func (m *IoamDisableReply) Size() int {
291 func (m *IoamDisableReply) Marshal(b []byte) ([]byte, error) {
292 o := binary.BigEndian
298 buf = make([]byte, m.Size())
303 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
307 func (m *IoamDisableReply) Unmarshal(tmp []byte) error {
308 o := binary.BigEndian
313 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
318 // IoamEnable represents VPP binary API message 'ioam_enable'.
319 type IoamEnable struct {
320 ID uint16 `binapi:"u16,name=id" json:"id,omitempty"`
321 Seqno bool `binapi:"bool,name=seqno" json:"seqno,omitempty"`
322 Analyse bool `binapi:"bool,name=analyse" json:"analyse,omitempty"`
323 PotEnable bool `binapi:"bool,name=pot_enable" json:"pot_enable,omitempty"`
324 TraceEnable bool `binapi:"bool,name=trace_enable" json:"trace_enable,omitempty"`
325 NodeID uint32 `binapi:"u32,name=node_id" json:"node_id,omitempty"`
328 func (m *IoamEnable) Reset() { *m = IoamEnable{} }
329 func (*IoamEnable) GetMessageName() string { return "ioam_enable" }
330 func (*IoamEnable) GetCrcString() string { return "51ccd868" }
331 func (*IoamEnable) GetMessageType() api.MessageType { return api.RequestMessage }
333 func (m *IoamEnable) Size() int {
342 // field[1] m.Analyse
344 // field[1] m.PotEnable
346 // field[1] m.TraceEnable
352 func (m *IoamEnable) Marshal(b []byte) ([]byte, error) {
353 o := binary.BigEndian
359 buf = make([]byte, m.Size())
364 o.PutUint16(buf[pos:pos+2], uint16(m.ID))
371 // field[1] m.Analyse
376 // field[1] m.PotEnable
381 // field[1] m.TraceEnable
387 o.PutUint32(buf[pos:pos+4], uint32(m.NodeID))
391 func (m *IoamEnable) Unmarshal(tmp []byte) error {
392 o := binary.BigEndian
397 m.ID = uint16(o.Uint16(tmp[pos : pos+2]))
400 m.Seqno = tmp[pos] != 0
402 // field[1] m.Analyse
403 m.Analyse = tmp[pos] != 0
405 // field[1] m.PotEnable
406 m.PotEnable = tmp[pos] != 0
408 // field[1] m.TraceEnable
409 m.TraceEnable = tmp[pos] != 0
412 m.NodeID = uint32(o.Uint32(tmp[pos : pos+4]))
417 // IoamEnableReply represents VPP binary API message 'ioam_enable_reply'.
418 type IoamEnableReply struct {
419 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
422 func (m *IoamEnableReply) Reset() { *m = IoamEnableReply{} }
423 func (*IoamEnableReply) GetMessageName() string { return "ioam_enable_reply" }
424 func (*IoamEnableReply) GetCrcString() string { return "e8d4e804" }
425 func (*IoamEnableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
427 func (m *IoamEnableReply) Size() int {
436 func (m *IoamEnableReply) Marshal(b []byte) ([]byte, error) {
437 o := binary.BigEndian
443 buf = make([]byte, m.Size())
448 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
452 func (m *IoamEnableReply) Unmarshal(tmp []byte) error {
453 o := binary.BigEndian
458 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
463 // IPAddressDetails represents VPP binary API message 'ip_address_details'.
464 type IPAddressDetails struct {
465 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
466 Prefix AddressWithPrefix `binapi:"address_with_prefix,name=prefix" json:"prefix,omitempty"`
469 func (m *IPAddressDetails) Reset() { *m = IPAddressDetails{} }
470 func (*IPAddressDetails) GetMessageName() string { return "ip_address_details" }
471 func (*IPAddressDetails) GetCrcString() string { return "b1199745" }
472 func (*IPAddressDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
474 func (m *IPAddressDetails) Size() int {
479 // field[1] m.SwIfIndex
482 // field[2] m.Prefix.Address
483 // field[3] m.Prefix.Address.Af
485 // field[3] m.Prefix.Address.Un
487 // field[2] m.Prefix.Len
491 func (m *IPAddressDetails) Marshal(b []byte) ([]byte, error) {
492 o := binary.BigEndian
498 buf = make([]byte, m.Size())
502 // field[1] m.SwIfIndex
503 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
506 // field[2] m.Prefix.Address
507 // field[3] m.Prefix.Address.Af
508 buf[pos] = uint8(m.Prefix.Address.Af)
510 // field[3] m.Prefix.Address.Un
511 copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
513 // field[2] m.Prefix.Len
514 buf[pos] = uint8(m.Prefix.Len)
518 func (m *IPAddressDetails) Unmarshal(tmp []byte) error {
519 o := binary.BigEndian
523 // field[1] m.SwIfIndex
524 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
527 // field[2] m.Prefix.Address
528 // field[3] m.Prefix.Address.Af
529 m.Prefix.Address.Af = AddressFamily(tmp[pos])
531 // field[3] m.Prefix.Address.Un
532 copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
534 // field[2] m.Prefix.Len
535 m.Prefix.Len = uint8(tmp[pos])
540 // IPAddressDump represents VPP binary API message 'ip_address_dump'.
541 type IPAddressDump struct {
542 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
543 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
546 func (m *IPAddressDump) Reset() { *m = IPAddressDump{} }
547 func (*IPAddressDump) GetMessageName() string { return "ip_address_dump" }
548 func (*IPAddressDump) GetCrcString() string { return "2d033de4" }
549 func (*IPAddressDump) GetMessageType() api.MessageType { return api.RequestMessage }
551 func (m *IPAddressDump) Size() int {
556 // field[1] m.SwIfIndex
562 func (m *IPAddressDump) Marshal(b []byte) ([]byte, error) {
563 o := binary.BigEndian
569 buf = make([]byte, m.Size())
573 // field[1] m.SwIfIndex
574 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
583 func (m *IPAddressDump) Unmarshal(tmp []byte) error {
584 o := binary.BigEndian
588 // field[1] m.SwIfIndex
589 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
592 m.IsIPv6 = tmp[pos] != 0
597 // IPContainerProxyAddDel represents VPP binary API message 'ip_container_proxy_add_del'.
598 type IPContainerProxyAddDel struct {
599 Pfx Prefix `binapi:"prefix,name=pfx" json:"pfx,omitempty"`
600 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
601 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
604 func (m *IPContainerProxyAddDel) Reset() { *m = IPContainerProxyAddDel{} }
605 func (*IPContainerProxyAddDel) GetMessageName() string { return "ip_container_proxy_add_del" }
606 func (*IPContainerProxyAddDel) GetCrcString() string { return "91189f40" }
607 func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
609 func (m *IPContainerProxyAddDel) Size() int {
615 // field[2] m.Pfx.Address
616 // field[3] m.Pfx.Address.Af
618 // field[3] m.Pfx.Address.Un
620 // field[2] m.Pfx.Len
622 // field[1] m.SwIfIndex
628 func (m *IPContainerProxyAddDel) Marshal(b []byte) ([]byte, error) {
629 o := binary.BigEndian
635 buf = make([]byte, m.Size())
640 // field[2] m.Pfx.Address
641 // field[3] m.Pfx.Address.Af
642 buf[pos] = uint8(m.Pfx.Address.Af)
644 // field[3] m.Pfx.Address.Un
645 copy(buf[pos:pos+16], m.Pfx.Address.Un.XXX_UnionData[:])
647 // field[2] m.Pfx.Len
648 buf[pos] = uint8(m.Pfx.Len)
650 // field[1] m.SwIfIndex
651 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
660 func (m *IPContainerProxyAddDel) Unmarshal(tmp []byte) error {
661 o := binary.BigEndian
666 // field[2] m.Pfx.Address
667 // field[3] m.Pfx.Address.Af
668 m.Pfx.Address.Af = AddressFamily(tmp[pos])
670 // field[3] m.Pfx.Address.Un
671 copy(m.Pfx.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
673 // field[2] m.Pfx.Len
674 m.Pfx.Len = uint8(tmp[pos])
676 // field[1] m.SwIfIndex
677 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
680 m.IsAdd = tmp[pos] != 0
685 // IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply'.
686 type IPContainerProxyAddDelReply struct {
687 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
690 func (m *IPContainerProxyAddDelReply) Reset() { *m = IPContainerProxyAddDelReply{} }
691 func (*IPContainerProxyAddDelReply) GetMessageName() string {
692 return "ip_container_proxy_add_del_reply"
694 func (*IPContainerProxyAddDelReply) GetCrcString() string { return "e8d4e804" }
695 func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
697 func (m *IPContainerProxyAddDelReply) Size() int {
706 func (m *IPContainerProxyAddDelReply) Marshal(b []byte) ([]byte, error) {
707 o := binary.BigEndian
713 buf = make([]byte, m.Size())
718 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
722 func (m *IPContainerProxyAddDelReply) Unmarshal(tmp []byte) error {
723 o := binary.BigEndian
728 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
733 // IPContainerProxyDetails represents VPP binary API message 'ip_container_proxy_details'.
734 type IPContainerProxyDetails struct {
735 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
736 Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
739 func (m *IPContainerProxyDetails) Reset() { *m = IPContainerProxyDetails{} }
740 func (*IPContainerProxyDetails) GetMessageName() string { return "ip_container_proxy_details" }
741 func (*IPContainerProxyDetails) GetCrcString() string { return "0ee460e8" }
742 func (*IPContainerProxyDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
744 func (m *IPContainerProxyDetails) Size() int {
749 // field[1] m.SwIfIndex
752 // field[2] m.Prefix.Address
753 // field[3] m.Prefix.Address.Af
755 // field[3] m.Prefix.Address.Un
757 // field[2] m.Prefix.Len
761 func (m *IPContainerProxyDetails) Marshal(b []byte) ([]byte, error) {
762 o := binary.BigEndian
768 buf = make([]byte, m.Size())
772 // field[1] m.SwIfIndex
773 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
776 // field[2] m.Prefix.Address
777 // field[3] m.Prefix.Address.Af
778 buf[pos] = uint8(m.Prefix.Address.Af)
780 // field[3] m.Prefix.Address.Un
781 copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
783 // field[2] m.Prefix.Len
784 buf[pos] = uint8(m.Prefix.Len)
788 func (m *IPContainerProxyDetails) Unmarshal(tmp []byte) error {
789 o := binary.BigEndian
793 // field[1] m.SwIfIndex
794 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
797 // field[2] m.Prefix.Address
798 // field[3] m.Prefix.Address.Af
799 m.Prefix.Address.Af = AddressFamily(tmp[pos])
801 // field[3] m.Prefix.Address.Un
802 copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
804 // field[2] m.Prefix.Len
805 m.Prefix.Len = uint8(tmp[pos])
810 // IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump'.
811 type IPContainerProxyDump struct{}
813 func (m *IPContainerProxyDump) Reset() { *m = IPContainerProxyDump{} }
814 func (*IPContainerProxyDump) GetMessageName() string { return "ip_container_proxy_dump" }
815 func (*IPContainerProxyDump) GetCrcString() string { return "51077d14" }
816 func (*IPContainerProxyDump) GetMessageType() api.MessageType { return api.RequestMessage }
818 func (m *IPContainerProxyDump) Size() int {
825 func (m *IPContainerProxyDump) Marshal(b []byte) ([]byte, error) {
826 o := binary.BigEndian
832 buf = make([]byte, m.Size())
838 func (m *IPContainerProxyDump) Unmarshal(tmp []byte) error {
839 o := binary.BigEndian
846 // IPDetails represents VPP binary API message 'ip_details'.
847 type IPDetails struct {
848 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
849 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
852 func (m *IPDetails) Reset() { *m = IPDetails{} }
853 func (*IPDetails) GetMessageName() string { return "ip_details" }
854 func (*IPDetails) GetCrcString() string { return "eb152d07" }
855 func (*IPDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
857 func (m *IPDetails) Size() int {
862 // field[1] m.SwIfIndex
868 func (m *IPDetails) Marshal(b []byte) ([]byte, error) {
869 o := binary.BigEndian
875 buf = make([]byte, m.Size())
879 // field[1] m.SwIfIndex
880 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
889 func (m *IPDetails) Unmarshal(tmp []byte) error {
890 o := binary.BigEndian
894 // field[1] m.SwIfIndex
895 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
898 m.IsIPv6 = tmp[pos] != 0
903 // IPDump represents VPP binary API message 'ip_dump'.
905 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
908 func (m *IPDump) Reset() { *m = IPDump{} }
909 func (*IPDump) GetMessageName() string { return "ip_dump" }
910 func (*IPDump) GetCrcString() string { return "98d231ca" }
911 func (*IPDump) GetMessageType() api.MessageType { return api.RequestMessage }
913 func (m *IPDump) Size() int {
922 func (m *IPDump) Marshal(b []byte) ([]byte, error) {
923 o := binary.BigEndian
929 buf = make([]byte, m.Size())
940 func (m *IPDump) Unmarshal(tmp []byte) error {
941 o := binary.BigEndian
946 m.IsIPv6 = tmp[pos] != 0
951 // IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del'.
952 type IPMrouteAddDel struct {
953 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
954 IsMultipath bool `binapi:"bool,name=is_multipath" json:"is_multipath,omitempty"`
955 Route IPMroute `binapi:"ip_mroute,name=route" json:"route,omitempty"`
958 func (m *IPMrouteAddDel) Reset() { *m = IPMrouteAddDel{} }
959 func (*IPMrouteAddDel) GetMessageName() string { return "ip_mroute_add_del" }
960 func (*IPMrouteAddDel) GetCrcString() string { return "f6627d17" }
961 func (*IPMrouteAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
963 func (m *IPMrouteAddDel) Size() int {
970 // field[1] m.IsMultipath
973 // field[2] m.Route.TableID
975 // field[2] m.Route.EntryFlags
977 // field[2] m.Route.RpfID
979 // field[2] m.Route.Prefix
980 // field[3] m.Route.Prefix.Af
982 // field[3] m.Route.Prefix.GrpAddressLength
984 // field[3] m.Route.Prefix.GrpAddress
986 // field[3] m.Route.Prefix.SrcAddress
988 // field[2] m.Route.NPaths
990 // field[2] m.Route.Paths
991 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
994 if j2 < len(m.Route.Paths) {
995 s2 = m.Route.Paths[j2]
997 // field[3] s2.ItfFlags
1000 // field[4] s2.Path.SwIfIndex
1002 // field[4] s2.Path.TableID
1004 // field[4] s2.Path.RpfID
1006 // field[4] s2.Path.Weight
1008 // field[4] s2.Path.Preference
1010 // field[4] s2.Path.Type
1012 // field[4] s2.Path.Flags
1014 // field[4] s2.Path.Proto
1016 // field[4] s2.Path.Nh
1017 // field[5] s2.Path.Nh.Address
1019 // field[5] s2.Path.Nh.ViaLabel
1021 // field[5] s2.Path.Nh.ObjID
1023 // field[5] s2.Path.Nh.ClassifyTableIndex
1025 // field[4] s2.Path.NLabels
1027 // field[4] s2.Path.LabelStack
1028 for j4 := 0; j4 < 16; j4++ {
1031 if j4 < len(s2.Path.LabelStack) {
1032 s4 = s2.Path.LabelStack[j4]
1034 // field[5] s4.IsUniform
1036 // field[5] s4.Label
1046 func (m *IPMrouteAddDel) Marshal(b []byte) ([]byte, error) {
1047 o := binary.BigEndian
1053 buf = make([]byte, m.Size())
1062 // field[1] m.IsMultipath
1068 // field[2] m.Route.TableID
1069 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
1071 // field[2] m.Route.EntryFlags
1072 o.PutUint32(buf[pos:pos+4], uint32(m.Route.EntryFlags))
1074 // field[2] m.Route.RpfID
1075 o.PutUint32(buf[pos:pos+4], uint32(m.Route.RpfID))
1077 // field[2] m.Route.Prefix
1078 // field[3] m.Route.Prefix.Af
1079 buf[pos] = uint8(m.Route.Prefix.Af)
1081 // field[3] m.Route.Prefix.GrpAddressLength
1082 o.PutUint16(buf[pos:pos+2], uint16(m.Route.Prefix.GrpAddressLength))
1084 // field[3] m.Route.Prefix.GrpAddress
1085 copy(buf[pos:pos+16], m.Route.Prefix.GrpAddress.XXX_UnionData[:])
1087 // field[3] m.Route.Prefix.SrcAddress
1088 copy(buf[pos:pos+16], m.Route.Prefix.SrcAddress.XXX_UnionData[:])
1090 // field[2] m.Route.NPaths
1091 buf[pos] = uint8(len(m.Route.Paths))
1093 // field[2] m.Route.Paths
1094 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
1096 if j2 < len(m.Route.Paths) {
1097 v2 = m.Route.Paths[j2]
1099 // field[3] v2.ItfFlags
1100 o.PutUint32(buf[pos:pos+4], uint32(v2.ItfFlags))
1103 // field[4] v2.Path.SwIfIndex
1104 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.SwIfIndex))
1106 // field[4] v2.Path.TableID
1107 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.TableID))
1109 // field[4] v2.Path.RpfID
1110 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.RpfID))
1112 // field[4] v2.Path.Weight
1113 buf[pos] = uint8(v2.Path.Weight)
1115 // field[4] v2.Path.Preference
1116 buf[pos] = uint8(v2.Path.Preference)
1118 // field[4] v2.Path.Type
1119 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Type))
1121 // field[4] v2.Path.Flags
1122 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Flags))
1124 // field[4] v2.Path.Proto
1125 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Proto))
1127 // field[4] v2.Path.Nh
1128 // field[5] v2.Path.Nh.Address
1129 copy(buf[pos:pos+16], v2.Path.Nh.Address.XXX_UnionData[:])
1131 // field[5] v2.Path.Nh.ViaLabel
1132 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ViaLabel))
1134 // field[5] v2.Path.Nh.ObjID
1135 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ObjID))
1137 // field[5] v2.Path.Nh.ClassifyTableIndex
1138 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ClassifyTableIndex))
1140 // field[4] v2.Path.NLabels
1141 buf[pos] = uint8(v2.Path.NLabels)
1143 // field[4] v2.Path.LabelStack
1144 for j4 := 0; j4 < 16; j4++ {
1146 if j4 < len(v2.Path.LabelStack) {
1147 v4 = v2.Path.LabelStack[j4]
1149 // field[5] v4.IsUniform
1150 buf[pos] = uint8(v4.IsUniform)
1152 // field[5] v4.Label
1153 o.PutUint32(buf[pos:pos+4], uint32(v4.Label))
1156 buf[pos] = uint8(v4.TTL)
1159 buf[pos] = uint8(v4.Exp)
1165 func (m *IPMrouteAddDel) Unmarshal(tmp []byte) error {
1166 o := binary.BigEndian
1171 m.IsAdd = tmp[pos] != 0
1173 // field[1] m.IsMultipath
1174 m.IsMultipath = tmp[pos] != 0
1177 // field[2] m.Route.TableID
1178 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1180 // field[2] m.Route.EntryFlags
1181 m.Route.EntryFlags = uint32(o.Uint32(tmp[pos : pos+4]))
1183 // field[2] m.Route.RpfID
1184 m.Route.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
1186 // field[2] m.Route.Prefix
1187 // field[3] m.Route.Prefix.Af
1188 m.Route.Prefix.Af = AddressFamily(tmp[pos])
1190 // field[3] m.Route.Prefix.GrpAddressLength
1191 m.Route.Prefix.GrpAddressLength = uint16(o.Uint16(tmp[pos : pos+2]))
1193 // field[3] m.Route.Prefix.GrpAddress
1194 copy(m.Route.Prefix.GrpAddress.XXX_UnionData[:], tmp[pos:pos+16])
1196 // field[3] m.Route.Prefix.SrcAddress
1197 copy(m.Route.Prefix.SrcAddress.XXX_UnionData[:], tmp[pos:pos+16])
1199 // field[2] m.Route.NPaths
1200 m.Route.NPaths = uint8(tmp[pos])
1202 // field[2] m.Route.Paths
1203 m.Route.Paths = make([]MfibPath, int(m.Route.NPaths))
1204 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
1205 // field[3] m.Route.Paths[j2].ItfFlags
1206 m.Route.Paths[j2].ItfFlags = MfibItfFlags(o.Uint32(tmp[pos : pos+4]))
1208 // field[3] m.Route.Paths[j2].Path
1209 // field[4] m.Route.Paths[j2].Path.SwIfIndex
1210 m.Route.Paths[j2].Path.SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1212 // field[4] m.Route.Paths[j2].Path.TableID
1213 m.Route.Paths[j2].Path.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1215 // field[4] m.Route.Paths[j2].Path.RpfID
1216 m.Route.Paths[j2].Path.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
1218 // field[4] m.Route.Paths[j2].Path.Weight
1219 m.Route.Paths[j2].Path.Weight = uint8(tmp[pos])
1221 // field[4] m.Route.Paths[j2].Path.Preference
1222 m.Route.Paths[j2].Path.Preference = uint8(tmp[pos])
1224 // field[4] m.Route.Paths[j2].Path.Type
1225 m.Route.Paths[j2].Path.Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
1227 // field[4] m.Route.Paths[j2].Path.Flags
1228 m.Route.Paths[j2].Path.Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
1230 // field[4] m.Route.Paths[j2].Path.Proto
1231 m.Route.Paths[j2].Path.Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
1233 // field[4] m.Route.Paths[j2].Path.Nh
1234 // field[5] m.Route.Paths[j2].Path.Nh.Address
1235 copy(m.Route.Paths[j2].Path.Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
1237 // field[5] m.Route.Paths[j2].Path.Nh.ViaLabel
1238 m.Route.Paths[j2].Path.Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
1240 // field[5] m.Route.Paths[j2].Path.Nh.ObjID
1241 m.Route.Paths[j2].Path.Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
1243 // field[5] m.Route.Paths[j2].Path.Nh.ClassifyTableIndex
1244 m.Route.Paths[j2].Path.Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1246 // field[4] m.Route.Paths[j2].Path.NLabels
1247 m.Route.Paths[j2].Path.NLabels = uint8(tmp[pos])
1249 // field[4] m.Route.Paths[j2].Path.LabelStack
1250 for j4 := 0; j4 < 16; j4++ {
1251 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].IsUniform
1252 m.Route.Paths[j2].Path.LabelStack[j4].IsUniform = uint8(tmp[pos])
1254 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Label
1255 m.Route.Paths[j2].Path.LabelStack[j4].Label = uint32(o.Uint32(tmp[pos : pos+4]))
1257 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].TTL
1258 m.Route.Paths[j2].Path.LabelStack[j4].TTL = uint8(tmp[pos])
1260 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Exp
1261 m.Route.Paths[j2].Path.LabelStack[j4].Exp = uint8(tmp[pos])
1268 // IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply'.
1269 type IPMrouteAddDelReply struct {
1270 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1271 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
1274 func (m *IPMrouteAddDelReply) Reset() { *m = IPMrouteAddDelReply{} }
1275 func (*IPMrouteAddDelReply) GetMessageName() string { return "ip_mroute_add_del_reply" }
1276 func (*IPMrouteAddDelReply) GetCrcString() string { return "1992deab" }
1277 func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
1279 func (m *IPMrouteAddDelReply) Size() int {
1284 // field[1] m.Retval
1286 // field[1] m.StatsIndex
1290 func (m *IPMrouteAddDelReply) Marshal(b []byte) ([]byte, error) {
1291 o := binary.BigEndian
1297 buf = make([]byte, m.Size())
1301 // field[1] m.Retval
1302 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
1304 // field[1] m.StatsIndex
1305 o.PutUint32(buf[pos:pos+4], uint32(m.StatsIndex))
1309 func (m *IPMrouteAddDelReply) Unmarshal(tmp []byte) error {
1310 o := binary.BigEndian
1314 // field[1] m.Retval
1315 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
1317 // field[1] m.StatsIndex
1318 m.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1323 // IPMrouteDetails represents VPP binary API message 'ip_mroute_details'.
1324 type IPMrouteDetails struct {
1325 Route IPMroute `binapi:"ip_mroute,name=route" json:"route,omitempty"`
1328 func (m *IPMrouteDetails) Reset() { *m = IPMrouteDetails{} }
1329 func (*IPMrouteDetails) GetMessageName() string { return "ip_mroute_details" }
1330 func (*IPMrouteDetails) GetCrcString() string { return "c1cb4b44" }
1331 func (*IPMrouteDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
1333 func (m *IPMrouteDetails) Size() int {
1339 // field[2] m.Route.TableID
1341 // field[2] m.Route.EntryFlags
1343 // field[2] m.Route.RpfID
1345 // field[2] m.Route.Prefix
1346 // field[3] m.Route.Prefix.Af
1348 // field[3] m.Route.Prefix.GrpAddressLength
1350 // field[3] m.Route.Prefix.GrpAddress
1352 // field[3] m.Route.Prefix.SrcAddress
1354 // field[2] m.Route.NPaths
1356 // field[2] m.Route.Paths
1357 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
1360 if j2 < len(m.Route.Paths) {
1361 s2 = m.Route.Paths[j2]
1363 // field[3] s2.ItfFlags
1366 // field[4] s2.Path.SwIfIndex
1368 // field[4] s2.Path.TableID
1370 // field[4] s2.Path.RpfID
1372 // field[4] s2.Path.Weight
1374 // field[4] s2.Path.Preference
1376 // field[4] s2.Path.Type
1378 // field[4] s2.Path.Flags
1380 // field[4] s2.Path.Proto
1382 // field[4] s2.Path.Nh
1383 // field[5] s2.Path.Nh.Address
1385 // field[5] s2.Path.Nh.ViaLabel
1387 // field[5] s2.Path.Nh.ObjID
1389 // field[5] s2.Path.Nh.ClassifyTableIndex
1391 // field[4] s2.Path.NLabels
1393 // field[4] s2.Path.LabelStack
1394 for j4 := 0; j4 < 16; j4++ {
1397 if j4 < len(s2.Path.LabelStack) {
1398 s4 = s2.Path.LabelStack[j4]
1400 // field[5] s4.IsUniform
1402 // field[5] s4.Label
1412 func (m *IPMrouteDetails) Marshal(b []byte) ([]byte, error) {
1413 o := binary.BigEndian
1419 buf = make([]byte, m.Size())
1424 // field[2] m.Route.TableID
1425 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
1427 // field[2] m.Route.EntryFlags
1428 o.PutUint32(buf[pos:pos+4], uint32(m.Route.EntryFlags))
1430 // field[2] m.Route.RpfID
1431 o.PutUint32(buf[pos:pos+4], uint32(m.Route.RpfID))
1433 // field[2] m.Route.Prefix
1434 // field[3] m.Route.Prefix.Af
1435 buf[pos] = uint8(m.Route.Prefix.Af)
1437 // field[3] m.Route.Prefix.GrpAddressLength
1438 o.PutUint16(buf[pos:pos+2], uint16(m.Route.Prefix.GrpAddressLength))
1440 // field[3] m.Route.Prefix.GrpAddress
1441 copy(buf[pos:pos+16], m.Route.Prefix.GrpAddress.XXX_UnionData[:])
1443 // field[3] m.Route.Prefix.SrcAddress
1444 copy(buf[pos:pos+16], m.Route.Prefix.SrcAddress.XXX_UnionData[:])
1446 // field[2] m.Route.NPaths
1447 buf[pos] = uint8(len(m.Route.Paths))
1449 // field[2] m.Route.Paths
1450 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
1452 if j2 < len(m.Route.Paths) {
1453 v2 = m.Route.Paths[j2]
1455 // field[3] v2.ItfFlags
1456 o.PutUint32(buf[pos:pos+4], uint32(v2.ItfFlags))
1459 // field[4] v2.Path.SwIfIndex
1460 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.SwIfIndex))
1462 // field[4] v2.Path.TableID
1463 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.TableID))
1465 // field[4] v2.Path.RpfID
1466 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.RpfID))
1468 // field[4] v2.Path.Weight
1469 buf[pos] = uint8(v2.Path.Weight)
1471 // field[4] v2.Path.Preference
1472 buf[pos] = uint8(v2.Path.Preference)
1474 // field[4] v2.Path.Type
1475 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Type))
1477 // field[4] v2.Path.Flags
1478 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Flags))
1480 // field[4] v2.Path.Proto
1481 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Proto))
1483 // field[4] v2.Path.Nh
1484 // field[5] v2.Path.Nh.Address
1485 copy(buf[pos:pos+16], v2.Path.Nh.Address.XXX_UnionData[:])
1487 // field[5] v2.Path.Nh.ViaLabel
1488 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ViaLabel))
1490 // field[5] v2.Path.Nh.ObjID
1491 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ObjID))
1493 // field[5] v2.Path.Nh.ClassifyTableIndex
1494 o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ClassifyTableIndex))
1496 // field[4] v2.Path.NLabels
1497 buf[pos] = uint8(v2.Path.NLabels)
1499 // field[4] v2.Path.LabelStack
1500 for j4 := 0; j4 < 16; j4++ {
1502 if j4 < len(v2.Path.LabelStack) {
1503 v4 = v2.Path.LabelStack[j4]
1505 // field[5] v4.IsUniform
1506 buf[pos] = uint8(v4.IsUniform)
1508 // field[5] v4.Label
1509 o.PutUint32(buf[pos:pos+4], uint32(v4.Label))
1512 buf[pos] = uint8(v4.TTL)
1515 buf[pos] = uint8(v4.Exp)
1521 func (m *IPMrouteDetails) Unmarshal(tmp []byte) error {
1522 o := binary.BigEndian
1527 // field[2] m.Route.TableID
1528 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1530 // field[2] m.Route.EntryFlags
1531 m.Route.EntryFlags = uint32(o.Uint32(tmp[pos : pos+4]))
1533 // field[2] m.Route.RpfID
1534 m.Route.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
1536 // field[2] m.Route.Prefix
1537 // field[3] m.Route.Prefix.Af
1538 m.Route.Prefix.Af = AddressFamily(tmp[pos])
1540 // field[3] m.Route.Prefix.GrpAddressLength
1541 m.Route.Prefix.GrpAddressLength = uint16(o.Uint16(tmp[pos : pos+2]))
1543 // field[3] m.Route.Prefix.GrpAddress
1544 copy(m.Route.Prefix.GrpAddress.XXX_UnionData[:], tmp[pos:pos+16])
1546 // field[3] m.Route.Prefix.SrcAddress
1547 copy(m.Route.Prefix.SrcAddress.XXX_UnionData[:], tmp[pos:pos+16])
1549 // field[2] m.Route.NPaths
1550 m.Route.NPaths = uint8(tmp[pos])
1552 // field[2] m.Route.Paths
1553 m.Route.Paths = make([]MfibPath, int(m.Route.NPaths))
1554 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
1555 // field[3] m.Route.Paths[j2].ItfFlags
1556 m.Route.Paths[j2].ItfFlags = MfibItfFlags(o.Uint32(tmp[pos : pos+4]))
1558 // field[3] m.Route.Paths[j2].Path
1559 // field[4] m.Route.Paths[j2].Path.SwIfIndex
1560 m.Route.Paths[j2].Path.SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1562 // field[4] m.Route.Paths[j2].Path.TableID
1563 m.Route.Paths[j2].Path.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1565 // field[4] m.Route.Paths[j2].Path.RpfID
1566 m.Route.Paths[j2].Path.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
1568 // field[4] m.Route.Paths[j2].Path.Weight
1569 m.Route.Paths[j2].Path.Weight = uint8(tmp[pos])
1571 // field[4] m.Route.Paths[j2].Path.Preference
1572 m.Route.Paths[j2].Path.Preference = uint8(tmp[pos])
1574 // field[4] m.Route.Paths[j2].Path.Type
1575 m.Route.Paths[j2].Path.Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
1577 // field[4] m.Route.Paths[j2].Path.Flags
1578 m.Route.Paths[j2].Path.Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
1580 // field[4] m.Route.Paths[j2].Path.Proto
1581 m.Route.Paths[j2].Path.Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
1583 // field[4] m.Route.Paths[j2].Path.Nh
1584 // field[5] m.Route.Paths[j2].Path.Nh.Address
1585 copy(m.Route.Paths[j2].Path.Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
1587 // field[5] m.Route.Paths[j2].Path.Nh.ViaLabel
1588 m.Route.Paths[j2].Path.Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
1590 // field[5] m.Route.Paths[j2].Path.Nh.ObjID
1591 m.Route.Paths[j2].Path.Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
1593 // field[5] m.Route.Paths[j2].Path.Nh.ClassifyTableIndex
1594 m.Route.Paths[j2].Path.Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1596 // field[4] m.Route.Paths[j2].Path.NLabels
1597 m.Route.Paths[j2].Path.NLabels = uint8(tmp[pos])
1599 // field[4] m.Route.Paths[j2].Path.LabelStack
1600 for j4 := 0; j4 < 16; j4++ {
1601 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].IsUniform
1602 m.Route.Paths[j2].Path.LabelStack[j4].IsUniform = uint8(tmp[pos])
1604 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Label
1605 m.Route.Paths[j2].Path.LabelStack[j4].Label = uint32(o.Uint32(tmp[pos : pos+4]))
1607 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].TTL
1608 m.Route.Paths[j2].Path.LabelStack[j4].TTL = uint8(tmp[pos])
1610 // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Exp
1611 m.Route.Paths[j2].Path.LabelStack[j4].Exp = uint8(tmp[pos])
1618 // IPMrouteDump represents VPP binary API message 'ip_mroute_dump'.
1619 type IPMrouteDump struct {
1620 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
1623 func (m *IPMrouteDump) Reset() { *m = IPMrouteDump{} }
1624 func (*IPMrouteDump) GetMessageName() string { return "ip_mroute_dump" }
1625 func (*IPMrouteDump) GetCrcString() string { return "b9d2e09e" }
1626 func (*IPMrouteDump) GetMessageType() api.MessageType { return api.RequestMessage }
1628 func (m *IPMrouteDump) Size() int {
1634 // field[2] m.Table.TableID
1636 // field[2] m.Table.IsIP6
1638 // field[2] m.Table.Name
1642 func (m *IPMrouteDump) Marshal(b []byte) ([]byte, error) {
1643 o := binary.BigEndian
1649 buf = make([]byte, m.Size())
1654 // field[2] m.Table.TableID
1655 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
1657 // field[2] m.Table.IsIP6
1662 // field[2] m.Table.Name
1663 copy(buf[pos:pos+64], m.Table.Name)
1667 func (m *IPMrouteDump) Unmarshal(tmp []byte) error {
1668 o := binary.BigEndian
1673 // field[2] m.Table.TableID
1674 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1676 // field[2] m.Table.IsIP6
1677 m.Table.IsIP6 = tmp[pos] != 0
1679 // field[2] m.Table.Name
1681 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
1682 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
1688 // IPMtableDetails represents VPP binary API message 'ip_mtable_details'.
1689 type IPMtableDetails struct {
1690 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
1693 func (m *IPMtableDetails) Reset() { *m = IPMtableDetails{} }
1694 func (*IPMtableDetails) GetMessageName() string { return "ip_mtable_details" }
1695 func (*IPMtableDetails) GetCrcString() string { return "b9d2e09e" }
1696 func (*IPMtableDetails) GetMessageType() api.MessageType { return api.RequestMessage }
1698 func (m *IPMtableDetails) Size() int {
1704 // field[2] m.Table.TableID
1706 // field[2] m.Table.IsIP6
1708 // field[2] m.Table.Name
1712 func (m *IPMtableDetails) Marshal(b []byte) ([]byte, error) {
1713 o := binary.BigEndian
1719 buf = make([]byte, m.Size())
1724 // field[2] m.Table.TableID
1725 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
1727 // field[2] m.Table.IsIP6
1732 // field[2] m.Table.Name
1733 copy(buf[pos:pos+64], m.Table.Name)
1737 func (m *IPMtableDetails) Unmarshal(tmp []byte) error {
1738 o := binary.BigEndian
1743 // field[2] m.Table.TableID
1744 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
1746 // field[2] m.Table.IsIP6
1747 m.Table.IsIP6 = tmp[pos] != 0
1749 // field[2] m.Table.Name
1751 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
1752 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
1758 // IPMtableDump represents VPP binary API message 'ip_mtable_dump'.
1759 type IPMtableDump struct{}
1761 func (m *IPMtableDump) Reset() { *m = IPMtableDump{} }
1762 func (*IPMtableDump) GetMessageName() string { return "ip_mtable_dump" }
1763 func (*IPMtableDump) GetCrcString() string { return "51077d14" }
1764 func (*IPMtableDump) GetMessageType() api.MessageType { return api.RequestMessage }
1766 func (m *IPMtableDump) Size() int {
1773 func (m *IPMtableDump) Marshal(b []byte) ([]byte, error) {
1774 o := binary.BigEndian
1780 buf = make([]byte, m.Size())
1786 func (m *IPMtableDump) Unmarshal(tmp []byte) error {
1787 o := binary.BigEndian
1794 // IPPuntPolice represents VPP binary API message 'ip_punt_police'.
1795 type IPPuntPolice struct {
1796 PolicerIndex uint32 `binapi:"u32,name=policer_index" json:"policer_index,omitempty"`
1797 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
1798 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
1801 func (m *IPPuntPolice) Reset() { *m = IPPuntPolice{} }
1802 func (*IPPuntPolice) GetMessageName() string { return "ip_punt_police" }
1803 func (*IPPuntPolice) GetCrcString() string { return "db867cea" }
1804 func (*IPPuntPolice) GetMessageType() api.MessageType { return api.RequestMessage }
1806 func (m *IPPuntPolice) Size() int {
1811 // field[1] m.PolicerIndex
1819 func (m *IPPuntPolice) Marshal(b []byte) ([]byte, error) {
1820 o := binary.BigEndian
1826 buf = make([]byte, m.Size())
1830 // field[1] m.PolicerIndex
1831 o.PutUint32(buf[pos:pos+4], uint32(m.PolicerIndex))
1845 func (m *IPPuntPolice) Unmarshal(tmp []byte) error {
1846 o := binary.BigEndian
1850 // field[1] m.PolicerIndex
1851 m.PolicerIndex = uint32(o.Uint32(tmp[pos : pos+4]))
1854 m.IsAdd = tmp[pos] != 0
1857 m.IsIP6 = tmp[pos] != 0
1862 // IPPuntPoliceReply represents VPP binary API message 'ip_punt_police_reply'.
1863 type IPPuntPoliceReply struct {
1864 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
1867 func (m *IPPuntPoliceReply) Reset() { *m = IPPuntPoliceReply{} }
1868 func (*IPPuntPoliceReply) GetMessageName() string { return "ip_punt_police_reply" }
1869 func (*IPPuntPoliceReply) GetCrcString() string { return "e8d4e804" }
1870 func (*IPPuntPoliceReply) GetMessageType() api.MessageType { return api.ReplyMessage }
1872 func (m *IPPuntPoliceReply) Size() int {
1877 // field[1] m.Retval
1881 func (m *IPPuntPoliceReply) Marshal(b []byte) ([]byte, error) {
1882 o := binary.BigEndian
1888 buf = make([]byte, m.Size())
1892 // field[1] m.Retval
1893 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
1897 func (m *IPPuntPoliceReply) Unmarshal(tmp []byte) error {
1898 o := binary.BigEndian
1902 // field[1] m.Retval
1903 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
1908 // IPPuntRedirect represents VPP binary API message 'ip_punt_redirect'.
1909 type IPPuntRedirect struct {
1910 Punt PuntRedirect `binapi:"punt_redirect,name=punt" json:"punt,omitempty"`
1911 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
1914 func (m *IPPuntRedirect) Reset() { *m = IPPuntRedirect{} }
1915 func (*IPPuntRedirect) GetMessageName() string { return "ip_punt_redirect" }
1916 func (*IPPuntRedirect) GetCrcString() string { return "a9a5592c" }
1917 func (*IPPuntRedirect) GetMessageType() api.MessageType { return api.RequestMessage }
1919 func (m *IPPuntRedirect) Size() int {
1925 // field[2] m.Punt.RxSwIfIndex
1927 // field[2] m.Punt.TxSwIfIndex
1929 // field[2] m.Punt.Nh
1930 // field[3] m.Punt.Nh.Af
1932 // field[3] m.Punt.Nh.Un
1938 func (m *IPPuntRedirect) Marshal(b []byte) ([]byte, error) {
1939 o := binary.BigEndian
1945 buf = make([]byte, m.Size())
1950 // field[2] m.Punt.RxSwIfIndex
1951 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.RxSwIfIndex))
1953 // field[2] m.Punt.TxSwIfIndex
1954 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.TxSwIfIndex))
1956 // field[2] m.Punt.Nh
1957 // field[3] m.Punt.Nh.Af
1958 buf[pos] = uint8(m.Punt.Nh.Af)
1960 // field[3] m.Punt.Nh.Un
1961 copy(buf[pos:pos+16], m.Punt.Nh.Un.XXX_UnionData[:])
1970 func (m *IPPuntRedirect) Unmarshal(tmp []byte) error {
1971 o := binary.BigEndian
1976 // field[2] m.Punt.RxSwIfIndex
1977 m.Punt.RxSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
1979 // field[2] m.Punt.TxSwIfIndex
1980 m.Punt.TxSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
1982 // field[2] m.Punt.Nh
1983 // field[3] m.Punt.Nh.Af
1984 m.Punt.Nh.Af = AddressFamily(tmp[pos])
1986 // field[3] m.Punt.Nh.Un
1987 copy(m.Punt.Nh.Un.XXX_UnionData[:], tmp[pos:pos+16])
1990 m.IsAdd = tmp[pos] != 0
1995 // IPPuntRedirectDetails represents VPP binary API message 'ip_punt_redirect_details'.
1996 type IPPuntRedirectDetails struct {
1997 Punt PuntRedirect `binapi:"punt_redirect,name=punt" json:"punt,omitempty"`
2000 func (m *IPPuntRedirectDetails) Reset() { *m = IPPuntRedirectDetails{} }
2001 func (*IPPuntRedirectDetails) GetMessageName() string { return "ip_punt_redirect_details" }
2002 func (*IPPuntRedirectDetails) GetCrcString() string { return "3924f5d3" }
2003 func (*IPPuntRedirectDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
2005 func (m *IPPuntRedirectDetails) Size() int {
2011 // field[2] m.Punt.RxSwIfIndex
2013 // field[2] m.Punt.TxSwIfIndex
2015 // field[2] m.Punt.Nh
2016 // field[3] m.Punt.Nh.Af
2018 // field[3] m.Punt.Nh.Un
2022 func (m *IPPuntRedirectDetails) Marshal(b []byte) ([]byte, error) {
2023 o := binary.BigEndian
2029 buf = make([]byte, m.Size())
2034 // field[2] m.Punt.RxSwIfIndex
2035 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.RxSwIfIndex))
2037 // field[2] m.Punt.TxSwIfIndex
2038 o.PutUint32(buf[pos:pos+4], uint32(m.Punt.TxSwIfIndex))
2040 // field[2] m.Punt.Nh
2041 // field[3] m.Punt.Nh.Af
2042 buf[pos] = uint8(m.Punt.Nh.Af)
2044 // field[3] m.Punt.Nh.Un
2045 copy(buf[pos:pos+16], m.Punt.Nh.Un.XXX_UnionData[:])
2049 func (m *IPPuntRedirectDetails) Unmarshal(tmp []byte) error {
2050 o := binary.BigEndian
2055 // field[2] m.Punt.RxSwIfIndex
2056 m.Punt.RxSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2058 // field[2] m.Punt.TxSwIfIndex
2059 m.Punt.TxSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2061 // field[2] m.Punt.Nh
2062 // field[3] m.Punt.Nh.Af
2063 m.Punt.Nh.Af = AddressFamily(tmp[pos])
2065 // field[3] m.Punt.Nh.Un
2066 copy(m.Punt.Nh.Un.XXX_UnionData[:], tmp[pos:pos+16])
2071 // IPPuntRedirectDump represents VPP binary API message 'ip_punt_redirect_dump'.
2072 type IPPuntRedirectDump struct {
2073 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
2074 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
2077 func (m *IPPuntRedirectDump) Reset() { *m = IPPuntRedirectDump{} }
2078 func (*IPPuntRedirectDump) GetMessageName() string { return "ip_punt_redirect_dump" }
2079 func (*IPPuntRedirectDump) GetCrcString() string { return "2d033de4" }
2080 func (*IPPuntRedirectDump) GetMessageType() api.MessageType { return api.RequestMessage }
2082 func (m *IPPuntRedirectDump) Size() int {
2087 // field[1] m.SwIfIndex
2089 // field[1] m.IsIPv6
2093 func (m *IPPuntRedirectDump) Marshal(b []byte) ([]byte, error) {
2094 o := binary.BigEndian
2100 buf = make([]byte, m.Size())
2104 // field[1] m.SwIfIndex
2105 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
2107 // field[1] m.IsIPv6
2114 func (m *IPPuntRedirectDump) Unmarshal(tmp []byte) error {
2115 o := binary.BigEndian
2119 // field[1] m.SwIfIndex
2120 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2122 // field[1] m.IsIPv6
2123 m.IsIPv6 = tmp[pos] != 0
2128 // IPPuntRedirectReply represents VPP binary API message 'ip_punt_redirect_reply'.
2129 type IPPuntRedirectReply struct {
2130 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2133 func (m *IPPuntRedirectReply) Reset() { *m = IPPuntRedirectReply{} }
2134 func (*IPPuntRedirectReply) GetMessageName() string { return "ip_punt_redirect_reply" }
2135 func (*IPPuntRedirectReply) GetCrcString() string { return "e8d4e804" }
2136 func (*IPPuntRedirectReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2138 func (m *IPPuntRedirectReply) Size() int {
2143 // field[1] m.Retval
2147 func (m *IPPuntRedirectReply) Marshal(b []byte) ([]byte, error) {
2148 o := binary.BigEndian
2154 buf = make([]byte, m.Size())
2158 // field[1] m.Retval
2159 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2163 func (m *IPPuntRedirectReply) Unmarshal(tmp []byte) error {
2164 o := binary.BigEndian
2168 // field[1] m.Retval
2169 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2174 // IPReassemblyEnableDisable represents VPP binary API message 'ip_reassembly_enable_disable'.
2175 type IPReassemblyEnableDisable struct {
2176 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
2177 EnableIP4 bool `binapi:"bool,name=enable_ip4" json:"enable_ip4,omitempty"`
2178 EnableIP6 bool `binapi:"bool,name=enable_ip6" json:"enable_ip6,omitempty"`
2179 Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"`
2182 func (m *IPReassemblyEnableDisable) Reset() { *m = IPReassemblyEnableDisable{} }
2183 func (*IPReassemblyEnableDisable) GetMessageName() string { return "ip_reassembly_enable_disable" }
2184 func (*IPReassemblyEnableDisable) GetCrcString() string { return "885c85a6" }
2185 func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage }
2187 func (m *IPReassemblyEnableDisable) Size() int {
2192 // field[1] m.SwIfIndex
2194 // field[1] m.EnableIP4
2196 // field[1] m.EnableIP6
2202 func (m *IPReassemblyEnableDisable) Marshal(b []byte) ([]byte, error) {
2203 o := binary.BigEndian
2209 buf = make([]byte, m.Size())
2213 // field[1] m.SwIfIndex
2214 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
2216 // field[1] m.EnableIP4
2221 // field[1] m.EnableIP6
2227 o.PutUint32(buf[pos:pos+4], uint32(m.Type))
2231 func (m *IPReassemblyEnableDisable) Unmarshal(tmp []byte) error {
2232 o := binary.BigEndian
2236 // field[1] m.SwIfIndex
2237 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
2239 // field[1] m.EnableIP4
2240 m.EnableIP4 = tmp[pos] != 0
2242 // field[1] m.EnableIP6
2243 m.EnableIP6 = tmp[pos] != 0
2246 m.Type = IPReassType(o.Uint32(tmp[pos : pos+4]))
2251 // IPReassemblyEnableDisableReply represents VPP binary API message 'ip_reassembly_enable_disable_reply'.
2252 type IPReassemblyEnableDisableReply struct {
2253 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2256 func (m *IPReassemblyEnableDisableReply) Reset() { *m = IPReassemblyEnableDisableReply{} }
2257 func (*IPReassemblyEnableDisableReply) GetMessageName() string {
2258 return "ip_reassembly_enable_disable_reply"
2260 func (*IPReassemblyEnableDisableReply) GetCrcString() string { return "e8d4e804" }
2261 func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2263 func (m *IPReassemblyEnableDisableReply) Size() int {
2268 // field[1] m.Retval
2272 func (m *IPReassemblyEnableDisableReply) Marshal(b []byte) ([]byte, error) {
2273 o := binary.BigEndian
2279 buf = make([]byte, m.Size())
2283 // field[1] m.Retval
2284 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2288 func (m *IPReassemblyEnableDisableReply) Unmarshal(tmp []byte) error {
2289 o := binary.BigEndian
2293 // field[1] m.Retval
2294 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2299 // IPReassemblyGet represents VPP binary API message 'ip_reassembly_get'.
2300 type IPReassemblyGet struct {
2301 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
2302 Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"`
2305 func (m *IPReassemblyGet) Reset() { *m = IPReassemblyGet{} }
2306 func (*IPReassemblyGet) GetMessageName() string { return "ip_reassembly_get" }
2307 func (*IPReassemblyGet) GetCrcString() string { return "ea13ff63" }
2308 func (*IPReassemblyGet) GetMessageType() api.MessageType { return api.RequestMessage }
2310 func (m *IPReassemblyGet) Size() int {
2321 func (m *IPReassemblyGet) Marshal(b []byte) ([]byte, error) {
2322 o := binary.BigEndian
2328 buf = make([]byte, m.Size())
2338 o.PutUint32(buf[pos:pos+4], uint32(m.Type))
2342 func (m *IPReassemblyGet) Unmarshal(tmp []byte) error {
2343 o := binary.BigEndian
2348 m.IsIP6 = tmp[pos] != 0
2351 m.Type = IPReassType(o.Uint32(tmp[pos : pos+4]))
2356 // IPReassemblyGetReply represents VPP binary API message 'ip_reassembly_get_reply'.
2357 type IPReassemblyGetReply struct {
2358 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2359 TimeoutMs uint32 `binapi:"u32,name=timeout_ms" json:"timeout_ms,omitempty"`
2360 MaxReassemblies uint32 `binapi:"u32,name=max_reassemblies" json:"max_reassemblies,omitempty"`
2361 MaxReassemblyLength uint32 `binapi:"u32,name=max_reassembly_length" json:"max_reassembly_length,omitempty"`
2362 ExpireWalkIntervalMs uint32 `binapi:"u32,name=expire_walk_interval_ms" json:"expire_walk_interval_ms,omitempty"`
2363 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
2366 func (m *IPReassemblyGetReply) Reset() { *m = IPReassemblyGetReply{} }
2367 func (*IPReassemblyGetReply) GetMessageName() string { return "ip_reassembly_get_reply" }
2368 func (*IPReassemblyGetReply) GetCrcString() string { return "d5eb8d34" }
2369 func (*IPReassemblyGetReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2371 func (m *IPReassemblyGetReply) Size() int {
2376 // field[1] m.Retval
2378 // field[1] m.TimeoutMs
2380 // field[1] m.MaxReassemblies
2382 // field[1] m.MaxReassemblyLength
2384 // field[1] m.ExpireWalkIntervalMs
2390 func (m *IPReassemblyGetReply) Marshal(b []byte) ([]byte, error) {
2391 o := binary.BigEndian
2397 buf = make([]byte, m.Size())
2401 // field[1] m.Retval
2402 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2404 // field[1] m.TimeoutMs
2405 o.PutUint32(buf[pos:pos+4], uint32(m.TimeoutMs))
2407 // field[1] m.MaxReassemblies
2408 o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblies))
2410 // field[1] m.MaxReassemblyLength
2411 o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblyLength))
2413 // field[1] m.ExpireWalkIntervalMs
2414 o.PutUint32(buf[pos:pos+4], uint32(m.ExpireWalkIntervalMs))
2423 func (m *IPReassemblyGetReply) Unmarshal(tmp []byte) error {
2424 o := binary.BigEndian
2428 // field[1] m.Retval
2429 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2431 // field[1] m.TimeoutMs
2432 m.TimeoutMs = uint32(o.Uint32(tmp[pos : pos+4]))
2434 // field[1] m.MaxReassemblies
2435 m.MaxReassemblies = uint32(o.Uint32(tmp[pos : pos+4]))
2437 // field[1] m.MaxReassemblyLength
2438 m.MaxReassemblyLength = uint32(o.Uint32(tmp[pos : pos+4]))
2440 // field[1] m.ExpireWalkIntervalMs
2441 m.ExpireWalkIntervalMs = uint32(o.Uint32(tmp[pos : pos+4]))
2444 m.IsIP6 = tmp[pos] != 0
2449 // IPReassemblySet represents VPP binary API message 'ip_reassembly_set'.
2450 type IPReassemblySet struct {
2451 TimeoutMs uint32 `binapi:"u32,name=timeout_ms" json:"timeout_ms,omitempty"`
2452 MaxReassemblies uint32 `binapi:"u32,name=max_reassemblies" json:"max_reassemblies,omitempty"`
2453 MaxReassemblyLength uint32 `binapi:"u32,name=max_reassembly_length" json:"max_reassembly_length,omitempty"`
2454 ExpireWalkIntervalMs uint32 `binapi:"u32,name=expire_walk_interval_ms" json:"expire_walk_interval_ms,omitempty"`
2455 IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
2456 Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"`
2459 func (m *IPReassemblySet) Reset() { *m = IPReassemblySet{} }
2460 func (*IPReassemblySet) GetMessageName() string { return "ip_reassembly_set" }
2461 func (*IPReassemblySet) GetCrcString() string { return "16467d25" }
2462 func (*IPReassemblySet) GetMessageType() api.MessageType { return api.RequestMessage }
2464 func (m *IPReassemblySet) Size() int {
2469 // field[1] m.TimeoutMs
2471 // field[1] m.MaxReassemblies
2473 // field[1] m.MaxReassemblyLength
2475 // field[1] m.ExpireWalkIntervalMs
2483 func (m *IPReassemblySet) Marshal(b []byte) ([]byte, error) {
2484 o := binary.BigEndian
2490 buf = make([]byte, m.Size())
2494 // field[1] m.TimeoutMs
2495 o.PutUint32(buf[pos:pos+4], uint32(m.TimeoutMs))
2497 // field[1] m.MaxReassemblies
2498 o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblies))
2500 // field[1] m.MaxReassemblyLength
2501 o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblyLength))
2503 // field[1] m.ExpireWalkIntervalMs
2504 o.PutUint32(buf[pos:pos+4], uint32(m.ExpireWalkIntervalMs))
2512 o.PutUint32(buf[pos:pos+4], uint32(m.Type))
2516 func (m *IPReassemblySet) Unmarshal(tmp []byte) error {
2517 o := binary.BigEndian
2521 // field[1] m.TimeoutMs
2522 m.TimeoutMs = uint32(o.Uint32(tmp[pos : pos+4]))
2524 // field[1] m.MaxReassemblies
2525 m.MaxReassemblies = uint32(o.Uint32(tmp[pos : pos+4]))
2527 // field[1] m.MaxReassemblyLength
2528 m.MaxReassemblyLength = uint32(o.Uint32(tmp[pos : pos+4]))
2530 // field[1] m.ExpireWalkIntervalMs
2531 m.ExpireWalkIntervalMs = uint32(o.Uint32(tmp[pos : pos+4]))
2534 m.IsIP6 = tmp[pos] != 0
2537 m.Type = IPReassType(o.Uint32(tmp[pos : pos+4]))
2542 // IPReassemblySetReply represents VPP binary API message 'ip_reassembly_set_reply'.
2543 type IPReassemblySetReply struct {
2544 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2547 func (m *IPReassemblySetReply) Reset() { *m = IPReassemblySetReply{} }
2548 func (*IPReassemblySetReply) GetMessageName() string { return "ip_reassembly_set_reply" }
2549 func (*IPReassemblySetReply) GetCrcString() string { return "e8d4e804" }
2550 func (*IPReassemblySetReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2552 func (m *IPReassemblySetReply) Size() int {
2557 // field[1] m.Retval
2561 func (m *IPReassemblySetReply) Marshal(b []byte) ([]byte, error) {
2562 o := binary.BigEndian
2568 buf = make([]byte, m.Size())
2572 // field[1] m.Retval
2573 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2577 func (m *IPReassemblySetReply) Unmarshal(tmp []byte) error {
2578 o := binary.BigEndian
2582 // field[1] m.Retval
2583 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2588 // IPRouteAddDel represents VPP binary API message 'ip_route_add_del'.
2589 type IPRouteAddDel struct {
2590 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
2591 IsMultipath bool `binapi:"bool,name=is_multipath" json:"is_multipath,omitempty"`
2592 Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"`
2595 func (m *IPRouteAddDel) Reset() { *m = IPRouteAddDel{} }
2596 func (*IPRouteAddDel) GetMessageName() string { return "ip_route_add_del" }
2597 func (*IPRouteAddDel) GetCrcString() string { return "c1ff832d" }
2598 func (*IPRouteAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
2600 func (m *IPRouteAddDel) Size() int {
2607 // field[1] m.IsMultipath
2610 // field[2] m.Route.TableID
2612 // field[2] m.Route.StatsIndex
2614 // field[2] m.Route.Prefix
2615 // field[3] m.Route.Prefix.Address
2616 // field[4] m.Route.Prefix.Address.Af
2618 // field[4] m.Route.Prefix.Address.Un
2620 // field[3] m.Route.Prefix.Len
2622 // field[2] m.Route.NPaths
2624 // field[2] m.Route.Paths
2625 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
2628 if j2 < len(m.Route.Paths) {
2629 s2 = m.Route.Paths[j2]
2631 // field[3] s2.SwIfIndex
2633 // field[3] s2.TableID
2635 // field[3] s2.RpfID
2637 // field[3] s2.Weight
2639 // field[3] s2.Preference
2643 // field[3] s2.Flags
2645 // field[3] s2.Proto
2648 // field[4] s2.Nh.Address
2650 // field[4] s2.Nh.ViaLabel
2652 // field[4] s2.Nh.ObjID
2654 // field[4] s2.Nh.ClassifyTableIndex
2656 // field[3] s2.NLabels
2658 // field[3] s2.LabelStack
2659 for j3 := 0; j3 < 16; j3++ {
2662 if j3 < len(s2.LabelStack) {
2663 s3 = s2.LabelStack[j3]
2665 // field[4] s3.IsUniform
2667 // field[4] s3.Label
2677 func (m *IPRouteAddDel) Marshal(b []byte) ([]byte, error) {
2678 o := binary.BigEndian
2684 buf = make([]byte, m.Size())
2693 // field[1] m.IsMultipath
2699 // field[2] m.Route.TableID
2700 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
2702 // field[2] m.Route.StatsIndex
2703 o.PutUint32(buf[pos:pos+4], uint32(m.Route.StatsIndex))
2705 // field[2] m.Route.Prefix
2706 // field[3] m.Route.Prefix.Address
2707 // field[4] m.Route.Prefix.Address.Af
2708 buf[pos] = uint8(m.Route.Prefix.Address.Af)
2710 // field[4] m.Route.Prefix.Address.Un
2711 copy(buf[pos:pos+16], m.Route.Prefix.Address.Un.XXX_UnionData[:])
2713 // field[3] m.Route.Prefix.Len
2714 buf[pos] = uint8(m.Route.Prefix.Len)
2716 // field[2] m.Route.NPaths
2717 buf[pos] = uint8(len(m.Route.Paths))
2719 // field[2] m.Route.Paths
2720 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
2722 if j2 < len(m.Route.Paths) {
2723 v2 = m.Route.Paths[j2]
2725 // field[3] v2.SwIfIndex
2726 o.PutUint32(buf[pos:pos+4], uint32(v2.SwIfIndex))
2728 // field[3] v2.TableID
2729 o.PutUint32(buf[pos:pos+4], uint32(v2.TableID))
2731 // field[3] v2.RpfID
2732 o.PutUint32(buf[pos:pos+4], uint32(v2.RpfID))
2734 // field[3] v2.Weight
2735 buf[pos] = uint8(v2.Weight)
2737 // field[3] v2.Preference
2738 buf[pos] = uint8(v2.Preference)
2741 o.PutUint32(buf[pos:pos+4], uint32(v2.Type))
2743 // field[3] v2.Flags
2744 o.PutUint32(buf[pos:pos+4], uint32(v2.Flags))
2746 // field[3] v2.Proto
2747 o.PutUint32(buf[pos:pos+4], uint32(v2.Proto))
2750 // field[4] v2.Nh.Address
2751 copy(buf[pos:pos+16], v2.Nh.Address.XXX_UnionData[:])
2753 // field[4] v2.Nh.ViaLabel
2754 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ViaLabel))
2756 // field[4] v2.Nh.ObjID
2757 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ObjID))
2759 // field[4] v2.Nh.ClassifyTableIndex
2760 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ClassifyTableIndex))
2762 // field[3] v2.NLabels
2763 buf[pos] = uint8(v2.NLabels)
2765 // field[3] v2.LabelStack
2766 for j3 := 0; j3 < 16; j3++ {
2768 if j3 < len(v2.LabelStack) {
2769 v3 = v2.LabelStack[j3]
2771 // field[4] v3.IsUniform
2772 buf[pos] = uint8(v3.IsUniform)
2774 // field[4] v3.Label
2775 o.PutUint32(buf[pos:pos+4], uint32(v3.Label))
2778 buf[pos] = uint8(v3.TTL)
2781 buf[pos] = uint8(v3.Exp)
2787 func (m *IPRouteAddDel) Unmarshal(tmp []byte) error {
2788 o := binary.BigEndian
2793 m.IsAdd = tmp[pos] != 0
2795 // field[1] m.IsMultipath
2796 m.IsMultipath = tmp[pos] != 0
2799 // field[2] m.Route.TableID
2800 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
2802 // field[2] m.Route.StatsIndex
2803 m.Route.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
2805 // field[2] m.Route.Prefix
2806 // field[3] m.Route.Prefix.Address
2807 // field[4] m.Route.Prefix.Address.Af
2808 m.Route.Prefix.Address.Af = AddressFamily(tmp[pos])
2810 // field[4] m.Route.Prefix.Address.Un
2811 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
2813 // field[3] m.Route.Prefix.Len
2814 m.Route.Prefix.Len = uint8(tmp[pos])
2816 // field[2] m.Route.NPaths
2817 m.Route.NPaths = uint8(tmp[pos])
2819 // field[2] m.Route.Paths
2820 m.Route.Paths = make([]FibPath, int(m.Route.NPaths))
2821 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
2822 // field[3] m.Route.Paths[j2].SwIfIndex
2823 m.Route.Paths[j2].SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
2825 // field[3] m.Route.Paths[j2].TableID
2826 m.Route.Paths[j2].TableID = uint32(o.Uint32(tmp[pos : pos+4]))
2828 // field[3] m.Route.Paths[j2].RpfID
2829 m.Route.Paths[j2].RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
2831 // field[3] m.Route.Paths[j2].Weight
2832 m.Route.Paths[j2].Weight = uint8(tmp[pos])
2834 // field[3] m.Route.Paths[j2].Preference
2835 m.Route.Paths[j2].Preference = uint8(tmp[pos])
2837 // field[3] m.Route.Paths[j2].Type
2838 m.Route.Paths[j2].Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
2840 // field[3] m.Route.Paths[j2].Flags
2841 m.Route.Paths[j2].Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
2843 // field[3] m.Route.Paths[j2].Proto
2844 m.Route.Paths[j2].Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
2846 // field[3] m.Route.Paths[j2].Nh
2847 // field[4] m.Route.Paths[j2].Nh.Address
2848 copy(m.Route.Paths[j2].Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
2850 // field[4] m.Route.Paths[j2].Nh.ViaLabel
2851 m.Route.Paths[j2].Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
2853 // field[4] m.Route.Paths[j2].Nh.ObjID
2854 m.Route.Paths[j2].Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
2856 // field[4] m.Route.Paths[j2].Nh.ClassifyTableIndex
2857 m.Route.Paths[j2].Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
2859 // field[3] m.Route.Paths[j2].NLabels
2860 m.Route.Paths[j2].NLabels = uint8(tmp[pos])
2862 // field[3] m.Route.Paths[j2].LabelStack
2863 for j3 := 0; j3 < 16; j3++ {
2864 // field[4] m.Route.Paths[j2].LabelStack[j3].IsUniform
2865 m.Route.Paths[j2].LabelStack[j3].IsUniform = uint8(tmp[pos])
2867 // field[4] m.Route.Paths[j2].LabelStack[j3].Label
2868 m.Route.Paths[j2].LabelStack[j3].Label = uint32(o.Uint32(tmp[pos : pos+4]))
2870 // field[4] m.Route.Paths[j2].LabelStack[j3].TTL
2871 m.Route.Paths[j2].LabelStack[j3].TTL = uint8(tmp[pos])
2873 // field[4] m.Route.Paths[j2].LabelStack[j3].Exp
2874 m.Route.Paths[j2].LabelStack[j3].Exp = uint8(tmp[pos])
2881 // IPRouteAddDelReply represents VPP binary API message 'ip_route_add_del_reply'.
2882 type IPRouteAddDelReply struct {
2883 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
2884 StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
2887 func (m *IPRouteAddDelReply) Reset() { *m = IPRouteAddDelReply{} }
2888 func (*IPRouteAddDelReply) GetMessageName() string { return "ip_route_add_del_reply" }
2889 func (*IPRouteAddDelReply) GetCrcString() string { return "1992deab" }
2890 func (*IPRouteAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
2892 func (m *IPRouteAddDelReply) Size() int {
2897 // field[1] m.Retval
2899 // field[1] m.StatsIndex
2903 func (m *IPRouteAddDelReply) Marshal(b []byte) ([]byte, error) {
2904 o := binary.BigEndian
2910 buf = make([]byte, m.Size())
2914 // field[1] m.Retval
2915 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
2917 // field[1] m.StatsIndex
2918 o.PutUint32(buf[pos:pos+4], uint32(m.StatsIndex))
2922 func (m *IPRouteAddDelReply) Unmarshal(tmp []byte) error {
2923 o := binary.BigEndian
2927 // field[1] m.Retval
2928 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
2930 // field[1] m.StatsIndex
2931 m.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
2936 // IPRouteDetails represents VPP binary API message 'ip_route_details'.
2937 type IPRouteDetails struct {
2938 Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"`
2941 func (m *IPRouteDetails) Reset() { *m = IPRouteDetails{} }
2942 func (*IPRouteDetails) GetMessageName() string { return "ip_route_details" }
2943 func (*IPRouteDetails) GetCrcString() string { return "d1ffaae1" }
2944 func (*IPRouteDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
2946 func (m *IPRouteDetails) Size() int {
2952 // field[2] m.Route.TableID
2954 // field[2] m.Route.StatsIndex
2956 // field[2] m.Route.Prefix
2957 // field[3] m.Route.Prefix.Address
2958 // field[4] m.Route.Prefix.Address.Af
2960 // field[4] m.Route.Prefix.Address.Un
2962 // field[3] m.Route.Prefix.Len
2964 // field[2] m.Route.NPaths
2966 // field[2] m.Route.Paths
2967 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
2970 if j2 < len(m.Route.Paths) {
2971 s2 = m.Route.Paths[j2]
2973 // field[3] s2.SwIfIndex
2975 // field[3] s2.TableID
2977 // field[3] s2.RpfID
2979 // field[3] s2.Weight
2981 // field[3] s2.Preference
2985 // field[3] s2.Flags
2987 // field[3] s2.Proto
2990 // field[4] s2.Nh.Address
2992 // field[4] s2.Nh.ViaLabel
2994 // field[4] s2.Nh.ObjID
2996 // field[4] s2.Nh.ClassifyTableIndex
2998 // field[3] s2.NLabels
3000 // field[3] s2.LabelStack
3001 for j3 := 0; j3 < 16; j3++ {
3004 if j3 < len(s2.LabelStack) {
3005 s3 = s2.LabelStack[j3]
3007 // field[4] s3.IsUniform
3009 // field[4] s3.Label
3019 func (m *IPRouteDetails) Marshal(b []byte) ([]byte, error) {
3020 o := binary.BigEndian
3026 buf = make([]byte, m.Size())
3031 // field[2] m.Route.TableID
3032 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
3034 // field[2] m.Route.StatsIndex
3035 o.PutUint32(buf[pos:pos+4], uint32(m.Route.StatsIndex))
3037 // field[2] m.Route.Prefix
3038 // field[3] m.Route.Prefix.Address
3039 // field[4] m.Route.Prefix.Address.Af
3040 buf[pos] = uint8(m.Route.Prefix.Address.Af)
3042 // field[4] m.Route.Prefix.Address.Un
3043 copy(buf[pos:pos+16], m.Route.Prefix.Address.Un.XXX_UnionData[:])
3045 // field[3] m.Route.Prefix.Len
3046 buf[pos] = uint8(m.Route.Prefix.Len)
3048 // field[2] m.Route.NPaths
3049 buf[pos] = uint8(len(m.Route.Paths))
3051 // field[2] m.Route.Paths
3052 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
3054 if j2 < len(m.Route.Paths) {
3055 v2 = m.Route.Paths[j2]
3057 // field[3] v2.SwIfIndex
3058 o.PutUint32(buf[pos:pos+4], uint32(v2.SwIfIndex))
3060 // field[3] v2.TableID
3061 o.PutUint32(buf[pos:pos+4], uint32(v2.TableID))
3063 // field[3] v2.RpfID
3064 o.PutUint32(buf[pos:pos+4], uint32(v2.RpfID))
3066 // field[3] v2.Weight
3067 buf[pos] = uint8(v2.Weight)
3069 // field[3] v2.Preference
3070 buf[pos] = uint8(v2.Preference)
3073 o.PutUint32(buf[pos:pos+4], uint32(v2.Type))
3075 // field[3] v2.Flags
3076 o.PutUint32(buf[pos:pos+4], uint32(v2.Flags))
3078 // field[3] v2.Proto
3079 o.PutUint32(buf[pos:pos+4], uint32(v2.Proto))
3082 // field[4] v2.Nh.Address
3083 copy(buf[pos:pos+16], v2.Nh.Address.XXX_UnionData[:])
3085 // field[4] v2.Nh.ViaLabel
3086 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ViaLabel))
3088 // field[4] v2.Nh.ObjID
3089 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ObjID))
3091 // field[4] v2.Nh.ClassifyTableIndex
3092 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ClassifyTableIndex))
3094 // field[3] v2.NLabels
3095 buf[pos] = uint8(v2.NLabels)
3097 // field[3] v2.LabelStack
3098 for j3 := 0; j3 < 16; j3++ {
3100 if j3 < len(v2.LabelStack) {
3101 v3 = v2.LabelStack[j3]
3103 // field[4] v3.IsUniform
3104 buf[pos] = uint8(v3.IsUniform)
3106 // field[4] v3.Label
3107 o.PutUint32(buf[pos:pos+4], uint32(v3.Label))
3110 buf[pos] = uint8(v3.TTL)
3113 buf[pos] = uint8(v3.Exp)
3119 func (m *IPRouteDetails) Unmarshal(tmp []byte) error {
3120 o := binary.BigEndian
3125 // field[2] m.Route.TableID
3126 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3128 // field[2] m.Route.StatsIndex
3129 m.Route.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3131 // field[2] m.Route.Prefix
3132 // field[3] m.Route.Prefix.Address
3133 // field[4] m.Route.Prefix.Address.Af
3134 m.Route.Prefix.Address.Af = AddressFamily(tmp[pos])
3136 // field[4] m.Route.Prefix.Address.Un
3137 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
3139 // field[3] m.Route.Prefix.Len
3140 m.Route.Prefix.Len = uint8(tmp[pos])
3142 // field[2] m.Route.NPaths
3143 m.Route.NPaths = uint8(tmp[pos])
3145 // field[2] m.Route.Paths
3146 m.Route.Paths = make([]FibPath, int(m.Route.NPaths))
3147 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
3148 // field[3] m.Route.Paths[j2].SwIfIndex
3149 m.Route.Paths[j2].SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3151 // field[3] m.Route.Paths[j2].TableID
3152 m.Route.Paths[j2].TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3154 // field[3] m.Route.Paths[j2].RpfID
3155 m.Route.Paths[j2].RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
3157 // field[3] m.Route.Paths[j2].Weight
3158 m.Route.Paths[j2].Weight = uint8(tmp[pos])
3160 // field[3] m.Route.Paths[j2].Preference
3161 m.Route.Paths[j2].Preference = uint8(tmp[pos])
3163 // field[3] m.Route.Paths[j2].Type
3164 m.Route.Paths[j2].Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
3166 // field[3] m.Route.Paths[j2].Flags
3167 m.Route.Paths[j2].Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
3169 // field[3] m.Route.Paths[j2].Proto
3170 m.Route.Paths[j2].Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
3172 // field[3] m.Route.Paths[j2].Nh
3173 // field[4] m.Route.Paths[j2].Nh.Address
3174 copy(m.Route.Paths[j2].Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
3176 // field[4] m.Route.Paths[j2].Nh.ViaLabel
3177 m.Route.Paths[j2].Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
3179 // field[4] m.Route.Paths[j2].Nh.ObjID
3180 m.Route.Paths[j2].Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
3182 // field[4] m.Route.Paths[j2].Nh.ClassifyTableIndex
3183 m.Route.Paths[j2].Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3185 // field[3] m.Route.Paths[j2].NLabels
3186 m.Route.Paths[j2].NLabels = uint8(tmp[pos])
3188 // field[3] m.Route.Paths[j2].LabelStack
3189 for j3 := 0; j3 < 16; j3++ {
3190 // field[4] m.Route.Paths[j2].LabelStack[j3].IsUniform
3191 m.Route.Paths[j2].LabelStack[j3].IsUniform = uint8(tmp[pos])
3193 // field[4] m.Route.Paths[j2].LabelStack[j3].Label
3194 m.Route.Paths[j2].LabelStack[j3].Label = uint32(o.Uint32(tmp[pos : pos+4]))
3196 // field[4] m.Route.Paths[j2].LabelStack[j3].TTL
3197 m.Route.Paths[j2].LabelStack[j3].TTL = uint8(tmp[pos])
3199 // field[4] m.Route.Paths[j2].LabelStack[j3].Exp
3200 m.Route.Paths[j2].LabelStack[j3].Exp = uint8(tmp[pos])
3207 // IPRouteDump represents VPP binary API message 'ip_route_dump'.
3208 type IPRouteDump struct {
3209 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
3212 func (m *IPRouteDump) Reset() { *m = IPRouteDump{} }
3213 func (*IPRouteDump) GetMessageName() string { return "ip_route_dump" }
3214 func (*IPRouteDump) GetCrcString() string { return "b9d2e09e" }
3215 func (*IPRouteDump) GetMessageType() api.MessageType { return api.RequestMessage }
3217 func (m *IPRouteDump) Size() int {
3223 // field[2] m.Table.TableID
3225 // field[2] m.Table.IsIP6
3227 // field[2] m.Table.Name
3231 func (m *IPRouteDump) Marshal(b []byte) ([]byte, error) {
3232 o := binary.BigEndian
3238 buf = make([]byte, m.Size())
3243 // field[2] m.Table.TableID
3244 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
3246 // field[2] m.Table.IsIP6
3251 // field[2] m.Table.Name
3252 copy(buf[pos:pos+64], m.Table.Name)
3256 func (m *IPRouteDump) Unmarshal(tmp []byte) error {
3257 o := binary.BigEndian
3262 // field[2] m.Table.TableID
3263 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3265 // field[2] m.Table.IsIP6
3266 m.Table.IsIP6 = tmp[pos] != 0
3268 // field[2] m.Table.Name
3270 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
3271 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
3277 // IPRouteLookup represents VPP binary API message 'ip_route_lookup'.
3278 type IPRouteLookup struct {
3279 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
3280 Exact uint8 `binapi:"u8,name=exact" json:"exact,omitempty"`
3281 Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
3284 func (m *IPRouteLookup) Reset() { *m = IPRouteLookup{} }
3285 func (*IPRouteLookup) GetMessageName() string { return "ip_route_lookup" }
3286 func (*IPRouteLookup) GetCrcString() string { return "e2986185" }
3287 func (*IPRouteLookup) GetMessageType() api.MessageType { return api.RequestMessage }
3289 func (m *IPRouteLookup) Size() int {
3294 // field[1] m.TableID
3298 // field[1] m.Prefix
3299 // field[2] m.Prefix.Address
3300 // field[3] m.Prefix.Address.Af
3302 // field[3] m.Prefix.Address.Un
3304 // field[2] m.Prefix.Len
3308 func (m *IPRouteLookup) Marshal(b []byte) ([]byte, error) {
3309 o := binary.BigEndian
3315 buf = make([]byte, m.Size())
3319 // field[1] m.TableID
3320 o.PutUint32(buf[pos:pos+4], uint32(m.TableID))
3323 buf[pos] = uint8(m.Exact)
3325 // field[1] m.Prefix
3326 // field[2] m.Prefix.Address
3327 // field[3] m.Prefix.Address.Af
3328 buf[pos] = uint8(m.Prefix.Address.Af)
3330 // field[3] m.Prefix.Address.Un
3331 copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
3333 // field[2] m.Prefix.Len
3334 buf[pos] = uint8(m.Prefix.Len)
3338 func (m *IPRouteLookup) Unmarshal(tmp []byte) error {
3339 o := binary.BigEndian
3343 // field[1] m.TableID
3344 m.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3347 m.Exact = uint8(tmp[pos])
3349 // field[1] m.Prefix
3350 // field[2] m.Prefix.Address
3351 // field[3] m.Prefix.Address.Af
3352 m.Prefix.Address.Af = AddressFamily(tmp[pos])
3354 // field[3] m.Prefix.Address.Un
3355 copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
3357 // field[2] m.Prefix.Len
3358 m.Prefix.Len = uint8(tmp[pos])
3363 // IPRouteLookupReply represents VPP binary API message 'ip_route_lookup_reply'.
3364 type IPRouteLookupReply struct {
3365 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3366 Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"`
3369 func (m *IPRouteLookupReply) Reset() { *m = IPRouteLookupReply{} }
3370 func (*IPRouteLookupReply) GetMessageName() string { return "ip_route_lookup_reply" }
3371 func (*IPRouteLookupReply) GetCrcString() string { return "ae99de8e" }
3372 func (*IPRouteLookupReply) GetMessageType() api.MessageType { return api.ReplyMessage }
3374 func (m *IPRouteLookupReply) Size() int {
3379 // field[1] m.Retval
3382 // field[2] m.Route.TableID
3384 // field[2] m.Route.StatsIndex
3386 // field[2] m.Route.Prefix
3387 // field[3] m.Route.Prefix.Address
3388 // field[4] m.Route.Prefix.Address.Af
3390 // field[4] m.Route.Prefix.Address.Un
3392 // field[3] m.Route.Prefix.Len
3394 // field[2] m.Route.NPaths
3396 // field[2] m.Route.Paths
3397 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
3400 if j2 < len(m.Route.Paths) {
3401 s2 = m.Route.Paths[j2]
3403 // field[3] s2.SwIfIndex
3405 // field[3] s2.TableID
3407 // field[3] s2.RpfID
3409 // field[3] s2.Weight
3411 // field[3] s2.Preference
3415 // field[3] s2.Flags
3417 // field[3] s2.Proto
3420 // field[4] s2.Nh.Address
3422 // field[4] s2.Nh.ViaLabel
3424 // field[4] s2.Nh.ObjID
3426 // field[4] s2.Nh.ClassifyTableIndex
3428 // field[3] s2.NLabels
3430 // field[3] s2.LabelStack
3431 for j3 := 0; j3 < 16; j3++ {
3434 if j3 < len(s2.LabelStack) {
3435 s3 = s2.LabelStack[j3]
3437 // field[4] s3.IsUniform
3439 // field[4] s3.Label
3449 func (m *IPRouteLookupReply) Marshal(b []byte) ([]byte, error) {
3450 o := binary.BigEndian
3456 buf = make([]byte, m.Size())
3460 // field[1] m.Retval
3461 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
3464 // field[2] m.Route.TableID
3465 o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
3467 // field[2] m.Route.StatsIndex
3468 o.PutUint32(buf[pos:pos+4], uint32(m.Route.StatsIndex))
3470 // field[2] m.Route.Prefix
3471 // field[3] m.Route.Prefix.Address
3472 // field[4] m.Route.Prefix.Address.Af
3473 buf[pos] = uint8(m.Route.Prefix.Address.Af)
3475 // field[4] m.Route.Prefix.Address.Un
3476 copy(buf[pos:pos+16], m.Route.Prefix.Address.Un.XXX_UnionData[:])
3478 // field[3] m.Route.Prefix.Len
3479 buf[pos] = uint8(m.Route.Prefix.Len)
3481 // field[2] m.Route.NPaths
3482 buf[pos] = uint8(len(m.Route.Paths))
3484 // field[2] m.Route.Paths
3485 for j2 := 0; j2 < len(m.Route.Paths); j2++ {
3487 if j2 < len(m.Route.Paths) {
3488 v2 = m.Route.Paths[j2]
3490 // field[3] v2.SwIfIndex
3491 o.PutUint32(buf[pos:pos+4], uint32(v2.SwIfIndex))
3493 // field[3] v2.TableID
3494 o.PutUint32(buf[pos:pos+4], uint32(v2.TableID))
3496 // field[3] v2.RpfID
3497 o.PutUint32(buf[pos:pos+4], uint32(v2.RpfID))
3499 // field[3] v2.Weight
3500 buf[pos] = uint8(v2.Weight)
3502 // field[3] v2.Preference
3503 buf[pos] = uint8(v2.Preference)
3506 o.PutUint32(buf[pos:pos+4], uint32(v2.Type))
3508 // field[3] v2.Flags
3509 o.PutUint32(buf[pos:pos+4], uint32(v2.Flags))
3511 // field[3] v2.Proto
3512 o.PutUint32(buf[pos:pos+4], uint32(v2.Proto))
3515 // field[4] v2.Nh.Address
3516 copy(buf[pos:pos+16], v2.Nh.Address.XXX_UnionData[:])
3518 // field[4] v2.Nh.ViaLabel
3519 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ViaLabel))
3521 // field[4] v2.Nh.ObjID
3522 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ObjID))
3524 // field[4] v2.Nh.ClassifyTableIndex
3525 o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ClassifyTableIndex))
3527 // field[3] v2.NLabels
3528 buf[pos] = uint8(v2.NLabels)
3530 // field[3] v2.LabelStack
3531 for j3 := 0; j3 < 16; j3++ {
3533 if j3 < len(v2.LabelStack) {
3534 v3 = v2.LabelStack[j3]
3536 // field[4] v3.IsUniform
3537 buf[pos] = uint8(v3.IsUniform)
3539 // field[4] v3.Label
3540 o.PutUint32(buf[pos:pos+4], uint32(v3.Label))
3543 buf[pos] = uint8(v3.TTL)
3546 buf[pos] = uint8(v3.Exp)
3552 func (m *IPRouteLookupReply) Unmarshal(tmp []byte) error {
3553 o := binary.BigEndian
3557 // field[1] m.Retval
3558 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
3561 // field[2] m.Route.TableID
3562 m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3564 // field[2] m.Route.StatsIndex
3565 m.Route.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3567 // field[2] m.Route.Prefix
3568 // field[3] m.Route.Prefix.Address
3569 // field[4] m.Route.Prefix.Address.Af
3570 m.Route.Prefix.Address.Af = AddressFamily(tmp[pos])
3572 // field[4] m.Route.Prefix.Address.Un
3573 copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
3575 // field[3] m.Route.Prefix.Len
3576 m.Route.Prefix.Len = uint8(tmp[pos])
3578 // field[2] m.Route.NPaths
3579 m.Route.NPaths = uint8(tmp[pos])
3581 // field[2] m.Route.Paths
3582 m.Route.Paths = make([]FibPath, int(m.Route.NPaths))
3583 for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
3584 // field[3] m.Route.Paths[j2].SwIfIndex
3585 m.Route.Paths[j2].SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3587 // field[3] m.Route.Paths[j2].TableID
3588 m.Route.Paths[j2].TableID = uint32(o.Uint32(tmp[pos : pos+4]))
3590 // field[3] m.Route.Paths[j2].RpfID
3591 m.Route.Paths[j2].RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
3593 // field[3] m.Route.Paths[j2].Weight
3594 m.Route.Paths[j2].Weight = uint8(tmp[pos])
3596 // field[3] m.Route.Paths[j2].Preference
3597 m.Route.Paths[j2].Preference = uint8(tmp[pos])
3599 // field[3] m.Route.Paths[j2].Type
3600 m.Route.Paths[j2].Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
3602 // field[3] m.Route.Paths[j2].Flags
3603 m.Route.Paths[j2].Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
3605 // field[3] m.Route.Paths[j2].Proto
3606 m.Route.Paths[j2].Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
3608 // field[3] m.Route.Paths[j2].Nh
3609 // field[4] m.Route.Paths[j2].Nh.Address
3610 copy(m.Route.Paths[j2].Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
3612 // field[4] m.Route.Paths[j2].Nh.ViaLabel
3613 m.Route.Paths[j2].Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
3615 // field[4] m.Route.Paths[j2].Nh.ObjID
3616 m.Route.Paths[j2].Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
3618 // field[4] m.Route.Paths[j2].Nh.ClassifyTableIndex
3619 m.Route.Paths[j2].Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
3621 // field[3] m.Route.Paths[j2].NLabels
3622 m.Route.Paths[j2].NLabels = uint8(tmp[pos])
3624 // field[3] m.Route.Paths[j2].LabelStack
3625 for j3 := 0; j3 < 16; j3++ {
3626 // field[4] m.Route.Paths[j2].LabelStack[j3].IsUniform
3627 m.Route.Paths[j2].LabelStack[j3].IsUniform = uint8(tmp[pos])
3629 // field[4] m.Route.Paths[j2].LabelStack[j3].Label
3630 m.Route.Paths[j2].LabelStack[j3].Label = uint32(o.Uint32(tmp[pos : pos+4]))
3632 // field[4] m.Route.Paths[j2].LabelStack[j3].TTL
3633 m.Route.Paths[j2].LabelStack[j3].TTL = uint8(tmp[pos])
3635 // field[4] m.Route.Paths[j2].LabelStack[j3].Exp
3636 m.Route.Paths[j2].LabelStack[j3].Exp = uint8(tmp[pos])
3643 // IPSourceAndPortRangeCheckAddDel represents VPP binary API message 'ip_source_and_port_range_check_add_del'.
3644 type IPSourceAndPortRangeCheckAddDel struct {
3645 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
3646 Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
3647 NumberOfRanges uint8 `binapi:"u8,name=number_of_ranges" json:"number_of_ranges,omitempty"`
3648 LowPorts []uint16 `binapi:"u16[32],name=low_ports" json:"low_ports,omitempty" struc:"[32]uint16"`
3649 HighPorts []uint16 `binapi:"u16[32],name=high_ports" json:"high_ports,omitempty" struc:"[32]uint16"`
3650 VrfID uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
3653 func (m *IPSourceAndPortRangeCheckAddDel) Reset() { *m = IPSourceAndPortRangeCheckAddDel{} }
3654 func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string {
3655 return "ip_source_and_port_range_check_add_del"
3657 func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string { return "8bfc76f2" }
3658 func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
3660 func (m *IPSourceAndPortRangeCheckAddDel) Size() int {
3667 // field[1] m.Prefix
3668 // field[2] m.Prefix.Address
3669 // field[3] m.Prefix.Address.Af
3671 // field[3] m.Prefix.Address.Un
3673 // field[2] m.Prefix.Len
3675 // field[1] m.NumberOfRanges
3677 // field[1] m.LowPorts
3679 // field[1] m.HighPorts
3685 func (m *IPSourceAndPortRangeCheckAddDel) Marshal(b []byte) ([]byte, error) {
3686 o := binary.BigEndian
3692 buf = make([]byte, m.Size())
3701 // field[1] m.Prefix
3702 // field[2] m.Prefix.Address
3703 // field[3] m.Prefix.Address.Af
3704 buf[pos] = uint8(m.Prefix.Address.Af)
3706 // field[3] m.Prefix.Address.Un
3707 copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
3709 // field[2] m.Prefix.Len
3710 buf[pos] = uint8(m.Prefix.Len)
3712 // field[1] m.NumberOfRanges
3713 buf[pos] = uint8(m.NumberOfRanges)
3715 // field[1] m.LowPorts
3716 for i := 0; i < 32; i++ {
3718 if i < len(m.LowPorts) {
3719 x = uint16(m.LowPorts[i])
3721 o.PutUint16(buf[pos:pos+2], uint16(x))
3724 // field[1] m.HighPorts
3725 for i := 0; i < 32; i++ {
3727 if i < len(m.HighPorts) {
3728 x = uint16(m.HighPorts[i])
3730 o.PutUint16(buf[pos:pos+2], uint16(x))
3734 o.PutUint32(buf[pos:pos+4], uint32(m.VrfID))
3738 func (m *IPSourceAndPortRangeCheckAddDel) Unmarshal(tmp []byte) error {
3739 o := binary.BigEndian
3744 m.IsAdd = tmp[pos] != 0
3746 // field[1] m.Prefix
3747 // field[2] m.Prefix.Address
3748 // field[3] m.Prefix.Address.Af
3749 m.Prefix.Address.Af = AddressFamily(tmp[pos])
3751 // field[3] m.Prefix.Address.Un
3752 copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
3754 // field[2] m.Prefix.Len
3755 m.Prefix.Len = uint8(tmp[pos])
3757 // field[1] m.NumberOfRanges
3758 m.NumberOfRanges = uint8(tmp[pos])
3760 // field[1] m.LowPorts
3761 m.LowPorts = make([]uint16, 32)
3762 for i := 0; i < len(m.LowPorts); i++ {
3763 m.LowPorts[i] = uint16(o.Uint16(tmp[pos : pos+2]))
3766 // field[1] m.HighPorts
3767 m.HighPorts = make([]uint16, 32)
3768 for i := 0; i < len(m.HighPorts); i++ {
3769 m.HighPorts[i] = uint16(o.Uint16(tmp[pos : pos+2]))
3773 m.VrfID = uint32(o.Uint32(tmp[pos : pos+4]))
3778 // IPSourceAndPortRangeCheckAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_add_del_reply'.
3779 type IPSourceAndPortRangeCheckAddDelReply struct {
3780 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3783 func (m *IPSourceAndPortRangeCheckAddDelReply) Reset() { *m = IPSourceAndPortRangeCheckAddDelReply{} }
3784 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string {
3785 return "ip_source_and_port_range_check_add_del_reply"
3787 func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string { return "e8d4e804" }
3788 func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType {
3789 return api.ReplyMessage
3792 func (m *IPSourceAndPortRangeCheckAddDelReply) Size() int {
3797 // field[1] m.Retval
3801 func (m *IPSourceAndPortRangeCheckAddDelReply) Marshal(b []byte) ([]byte, error) {
3802 o := binary.BigEndian
3808 buf = make([]byte, m.Size())
3812 // field[1] m.Retval
3813 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
3817 func (m *IPSourceAndPortRangeCheckAddDelReply) Unmarshal(tmp []byte) error {
3818 o := binary.BigEndian
3822 // field[1] m.Retval
3823 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
3828 // IPSourceAndPortRangeCheckInterfaceAddDel represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del'.
3829 type IPSourceAndPortRangeCheckInterfaceAddDel struct {
3830 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
3831 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
3832 TCPInVrfID uint32 `binapi:"u32,name=tcp_in_vrf_id" json:"tcp_in_vrf_id,omitempty"`
3833 TCPOutVrfID uint32 `binapi:"u32,name=tcp_out_vrf_id" json:"tcp_out_vrf_id,omitempty"`
3834 UDPInVrfID uint32 `binapi:"u32,name=udp_in_vrf_id" json:"udp_in_vrf_id,omitempty"`
3835 UDPOutVrfID uint32 `binapi:"u32,name=udp_out_vrf_id" json:"udp_out_vrf_id,omitempty"`
3838 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Reset() {
3839 *m = IPSourceAndPortRangeCheckInterfaceAddDel{}
3841 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string {
3842 return "ip_source_and_port_range_check_interface_add_del"
3844 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string { return "e1ba8987" }
3845 func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType {
3846 return api.RequestMessage
3849 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Size() int {
3856 // field[1] m.SwIfIndex
3858 // field[1] m.TCPInVrfID
3860 // field[1] m.TCPOutVrfID
3862 // field[1] m.UDPInVrfID
3864 // field[1] m.UDPOutVrfID
3868 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Marshal(b []byte) ([]byte, error) {
3869 o := binary.BigEndian
3875 buf = make([]byte, m.Size())
3884 // field[1] m.SwIfIndex
3885 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
3887 // field[1] m.TCPInVrfID
3888 o.PutUint32(buf[pos:pos+4], uint32(m.TCPInVrfID))
3890 // field[1] m.TCPOutVrfID
3891 o.PutUint32(buf[pos:pos+4], uint32(m.TCPOutVrfID))
3893 // field[1] m.UDPInVrfID
3894 o.PutUint32(buf[pos:pos+4], uint32(m.UDPInVrfID))
3896 // field[1] m.UDPOutVrfID
3897 o.PutUint32(buf[pos:pos+4], uint32(m.UDPOutVrfID))
3901 func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Unmarshal(tmp []byte) error {
3902 o := binary.BigEndian
3907 m.IsAdd = tmp[pos] != 0
3909 // field[1] m.SwIfIndex
3910 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
3912 // field[1] m.TCPInVrfID
3913 m.TCPInVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
3915 // field[1] m.TCPOutVrfID
3916 m.TCPOutVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
3918 // field[1] m.UDPInVrfID
3919 m.UDPInVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
3921 // field[1] m.UDPOutVrfID
3922 m.UDPOutVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
3927 // IPSourceAndPortRangeCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply'.
3928 type IPSourceAndPortRangeCheckInterfaceAddDelReply struct {
3929 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
3932 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Reset() {
3933 *m = IPSourceAndPortRangeCheckInterfaceAddDelReply{}
3935 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string {
3936 return "ip_source_and_port_range_check_interface_add_del_reply"
3938 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" }
3939 func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
3940 return api.ReplyMessage
3943 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Size() int {
3948 // field[1] m.Retval
3952 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Marshal(b []byte) ([]byte, error) {
3953 o := binary.BigEndian
3959 buf = make([]byte, m.Size())
3963 // field[1] m.Retval
3964 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
3968 func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Unmarshal(tmp []byte) error {
3969 o := binary.BigEndian
3973 // field[1] m.Retval
3974 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
3979 // IPTableAddDel represents VPP binary API message 'ip_table_add_del'.
3980 type IPTableAddDel struct {
3981 IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
3982 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
3985 func (m *IPTableAddDel) Reset() { *m = IPTableAddDel{} }
3986 func (*IPTableAddDel) GetMessageName() string { return "ip_table_add_del" }
3987 func (*IPTableAddDel) GetCrcString() string { return "0ffdaec0" }
3988 func (*IPTableAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
3990 func (m *IPTableAddDel) Size() int {
3998 // field[2] m.Table.TableID
4000 // field[2] m.Table.IsIP6
4002 // field[2] m.Table.Name
4006 func (m *IPTableAddDel) Marshal(b []byte) ([]byte, error) {
4007 o := binary.BigEndian
4013 buf = make([]byte, m.Size())
4023 // field[2] m.Table.TableID
4024 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4026 // field[2] m.Table.IsIP6
4031 // field[2] m.Table.Name
4032 copy(buf[pos:pos+64], m.Table.Name)
4036 func (m *IPTableAddDel) Unmarshal(tmp []byte) error {
4037 o := binary.BigEndian
4042 m.IsAdd = tmp[pos] != 0
4045 // field[2] m.Table.TableID
4046 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4048 // field[2] m.Table.IsIP6
4049 m.Table.IsIP6 = tmp[pos] != 0
4051 // field[2] m.Table.Name
4053 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4054 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4060 // IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply'.
4061 type IPTableAddDelReply struct {
4062 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4065 func (m *IPTableAddDelReply) Reset() { *m = IPTableAddDelReply{} }
4066 func (*IPTableAddDelReply) GetMessageName() string { return "ip_table_add_del_reply" }
4067 func (*IPTableAddDelReply) GetCrcString() string { return "e8d4e804" }
4068 func (*IPTableAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4070 func (m *IPTableAddDelReply) Size() int {
4075 // field[1] m.Retval
4079 func (m *IPTableAddDelReply) Marshal(b []byte) ([]byte, error) {
4080 o := binary.BigEndian
4086 buf = make([]byte, m.Size())
4090 // field[1] m.Retval
4091 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4095 func (m *IPTableAddDelReply) Unmarshal(tmp []byte) error {
4096 o := binary.BigEndian
4100 // field[1] m.Retval
4101 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4106 // IPTableDetails represents VPP binary API message 'ip_table_details'.
4107 type IPTableDetails struct {
4108 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4111 func (m *IPTableDetails) Reset() { *m = IPTableDetails{} }
4112 func (*IPTableDetails) GetMessageName() string { return "ip_table_details" }
4113 func (*IPTableDetails) GetCrcString() string { return "c79fca0f" }
4114 func (*IPTableDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
4116 func (m *IPTableDetails) Size() int {
4122 // field[2] m.Table.TableID
4124 // field[2] m.Table.IsIP6
4126 // field[2] m.Table.Name
4130 func (m *IPTableDetails) Marshal(b []byte) ([]byte, error) {
4131 o := binary.BigEndian
4137 buf = make([]byte, m.Size())
4142 // field[2] m.Table.TableID
4143 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4145 // field[2] m.Table.IsIP6
4150 // field[2] m.Table.Name
4151 copy(buf[pos:pos+64], m.Table.Name)
4155 func (m *IPTableDetails) Unmarshal(tmp []byte) error {
4156 o := binary.BigEndian
4161 // field[2] m.Table.TableID
4162 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4164 // field[2] m.Table.IsIP6
4165 m.Table.IsIP6 = tmp[pos] != 0
4167 // field[2] m.Table.Name
4169 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4170 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4176 // IPTableDump represents VPP binary API message 'ip_table_dump'.
4177 type IPTableDump struct{}
4179 func (m *IPTableDump) Reset() { *m = IPTableDump{} }
4180 func (*IPTableDump) GetMessageName() string { return "ip_table_dump" }
4181 func (*IPTableDump) GetCrcString() string { return "51077d14" }
4182 func (*IPTableDump) GetMessageType() api.MessageType { return api.RequestMessage }
4184 func (m *IPTableDump) Size() int {
4191 func (m *IPTableDump) Marshal(b []byte) ([]byte, error) {
4192 o := binary.BigEndian
4198 buf = make([]byte, m.Size())
4204 func (m *IPTableDump) Unmarshal(tmp []byte) error {
4205 o := binary.BigEndian
4212 // IPTableFlush represents VPP binary API message 'ip_table_flush'.
4213 type IPTableFlush struct {
4214 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4217 func (m *IPTableFlush) Reset() { *m = IPTableFlush{} }
4218 func (*IPTableFlush) GetMessageName() string { return "ip_table_flush" }
4219 func (*IPTableFlush) GetCrcString() string { return "b9d2e09e" }
4220 func (*IPTableFlush) GetMessageType() api.MessageType { return api.RequestMessage }
4222 func (m *IPTableFlush) Size() int {
4228 // field[2] m.Table.TableID
4230 // field[2] m.Table.IsIP6
4232 // field[2] m.Table.Name
4236 func (m *IPTableFlush) Marshal(b []byte) ([]byte, error) {
4237 o := binary.BigEndian
4243 buf = make([]byte, m.Size())
4248 // field[2] m.Table.TableID
4249 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4251 // field[2] m.Table.IsIP6
4256 // field[2] m.Table.Name
4257 copy(buf[pos:pos+64], m.Table.Name)
4261 func (m *IPTableFlush) Unmarshal(tmp []byte) error {
4262 o := binary.BigEndian
4267 // field[2] m.Table.TableID
4268 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4270 // field[2] m.Table.IsIP6
4271 m.Table.IsIP6 = tmp[pos] != 0
4273 // field[2] m.Table.Name
4275 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4276 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4282 // IPTableFlushReply represents VPP binary API message 'ip_table_flush_reply'.
4283 type IPTableFlushReply struct {
4284 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4287 func (m *IPTableFlushReply) Reset() { *m = IPTableFlushReply{} }
4288 func (*IPTableFlushReply) GetMessageName() string { return "ip_table_flush_reply" }
4289 func (*IPTableFlushReply) GetCrcString() string { return "e8d4e804" }
4290 func (*IPTableFlushReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4292 func (m *IPTableFlushReply) Size() int {
4297 // field[1] m.Retval
4301 func (m *IPTableFlushReply) Marshal(b []byte) ([]byte, error) {
4302 o := binary.BigEndian
4308 buf = make([]byte, m.Size())
4312 // field[1] m.Retval
4313 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4317 func (m *IPTableFlushReply) Unmarshal(tmp []byte) error {
4318 o := binary.BigEndian
4322 // field[1] m.Retval
4323 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4328 // IPTableReplaceBegin represents VPP binary API message 'ip_table_replace_begin'.
4329 type IPTableReplaceBegin struct {
4330 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4333 func (m *IPTableReplaceBegin) Reset() { *m = IPTableReplaceBegin{} }
4334 func (*IPTableReplaceBegin) GetMessageName() string { return "ip_table_replace_begin" }
4335 func (*IPTableReplaceBegin) GetCrcString() string { return "b9d2e09e" }
4336 func (*IPTableReplaceBegin) GetMessageType() api.MessageType { return api.RequestMessage }
4338 func (m *IPTableReplaceBegin) Size() int {
4344 // field[2] m.Table.TableID
4346 // field[2] m.Table.IsIP6
4348 // field[2] m.Table.Name
4352 func (m *IPTableReplaceBegin) Marshal(b []byte) ([]byte, error) {
4353 o := binary.BigEndian
4359 buf = make([]byte, m.Size())
4364 // field[2] m.Table.TableID
4365 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4367 // field[2] m.Table.IsIP6
4372 // field[2] m.Table.Name
4373 copy(buf[pos:pos+64], m.Table.Name)
4377 func (m *IPTableReplaceBegin) Unmarshal(tmp []byte) error {
4378 o := binary.BigEndian
4383 // field[2] m.Table.TableID
4384 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4386 // field[2] m.Table.IsIP6
4387 m.Table.IsIP6 = tmp[pos] != 0
4389 // field[2] m.Table.Name
4391 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4392 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4398 // IPTableReplaceBeginReply represents VPP binary API message 'ip_table_replace_begin_reply'.
4399 type IPTableReplaceBeginReply struct {
4400 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4403 func (m *IPTableReplaceBeginReply) Reset() { *m = IPTableReplaceBeginReply{} }
4404 func (*IPTableReplaceBeginReply) GetMessageName() string { return "ip_table_replace_begin_reply" }
4405 func (*IPTableReplaceBeginReply) GetCrcString() string { return "e8d4e804" }
4406 func (*IPTableReplaceBeginReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4408 func (m *IPTableReplaceBeginReply) Size() int {
4413 // field[1] m.Retval
4417 func (m *IPTableReplaceBeginReply) Marshal(b []byte) ([]byte, error) {
4418 o := binary.BigEndian
4424 buf = make([]byte, m.Size())
4428 // field[1] m.Retval
4429 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4433 func (m *IPTableReplaceBeginReply) Unmarshal(tmp []byte) error {
4434 o := binary.BigEndian
4438 // field[1] m.Retval
4439 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4444 // IPTableReplaceEnd represents VPP binary API message 'ip_table_replace_end'.
4445 type IPTableReplaceEnd struct {
4446 Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
4449 func (m *IPTableReplaceEnd) Reset() { *m = IPTableReplaceEnd{} }
4450 func (*IPTableReplaceEnd) GetMessageName() string { return "ip_table_replace_end" }
4451 func (*IPTableReplaceEnd) GetCrcString() string { return "b9d2e09e" }
4452 func (*IPTableReplaceEnd) GetMessageType() api.MessageType { return api.RequestMessage }
4454 func (m *IPTableReplaceEnd) Size() int {
4460 // field[2] m.Table.TableID
4462 // field[2] m.Table.IsIP6
4464 // field[2] m.Table.Name
4468 func (m *IPTableReplaceEnd) Marshal(b []byte) ([]byte, error) {
4469 o := binary.BigEndian
4475 buf = make([]byte, m.Size())
4480 // field[2] m.Table.TableID
4481 o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
4483 // field[2] m.Table.IsIP6
4488 // field[2] m.Table.Name
4489 copy(buf[pos:pos+64], m.Table.Name)
4493 func (m *IPTableReplaceEnd) Unmarshal(tmp []byte) error {
4494 o := binary.BigEndian
4499 // field[2] m.Table.TableID
4500 m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4502 // field[2] m.Table.IsIP6
4503 m.Table.IsIP6 = tmp[pos] != 0
4505 // field[2] m.Table.Name
4507 nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
4508 m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
4514 // IPTableReplaceEndReply represents VPP binary API message 'ip_table_replace_end_reply'.
4515 type IPTableReplaceEndReply struct {
4516 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4519 func (m *IPTableReplaceEndReply) Reset() { *m = IPTableReplaceEndReply{} }
4520 func (*IPTableReplaceEndReply) GetMessageName() string { return "ip_table_replace_end_reply" }
4521 func (*IPTableReplaceEndReply) GetCrcString() string { return "e8d4e804" }
4522 func (*IPTableReplaceEndReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4524 func (m *IPTableReplaceEndReply) Size() int {
4529 // field[1] m.Retval
4533 func (m *IPTableReplaceEndReply) Marshal(b []byte) ([]byte, error) {
4534 o := binary.BigEndian
4540 buf = make([]byte, m.Size())
4544 // field[1] m.Retval
4545 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4549 func (m *IPTableReplaceEndReply) Unmarshal(tmp []byte) error {
4550 o := binary.BigEndian
4554 // field[1] m.Retval
4555 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4560 // IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details'.
4561 type IPUnnumberedDetails struct {
4562 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
4563 IPSwIfIndex InterfaceIndex `binapi:"interface_index,name=ip_sw_if_index" json:"ip_sw_if_index,omitempty"`
4566 func (m *IPUnnumberedDetails) Reset() { *m = IPUnnumberedDetails{} }
4567 func (*IPUnnumberedDetails) GetMessageName() string { return "ip_unnumbered_details" }
4568 func (*IPUnnumberedDetails) GetCrcString() string { return "aa12a483" }
4569 func (*IPUnnumberedDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
4571 func (m *IPUnnumberedDetails) Size() int {
4576 // field[1] m.SwIfIndex
4578 // field[1] m.IPSwIfIndex
4582 func (m *IPUnnumberedDetails) Marshal(b []byte) ([]byte, error) {
4583 o := binary.BigEndian
4589 buf = make([]byte, m.Size())
4593 // field[1] m.SwIfIndex
4594 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
4596 // field[1] m.IPSwIfIndex
4597 o.PutUint32(buf[pos:pos+4], uint32(m.IPSwIfIndex))
4601 func (m *IPUnnumberedDetails) Unmarshal(tmp []byte) error {
4602 o := binary.BigEndian
4606 // field[1] m.SwIfIndex
4607 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
4609 // field[1] m.IPSwIfIndex
4610 m.IPSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
4615 // IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump'.
4616 type IPUnnumberedDump struct {
4617 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" json:"sw_if_index,omitempty"`
4620 func (m *IPUnnumberedDump) Reset() { *m = IPUnnumberedDump{} }
4621 func (*IPUnnumberedDump) GetMessageName() string { return "ip_unnumbered_dump" }
4622 func (*IPUnnumberedDump) GetCrcString() string { return "f9e6675e" }
4623 func (*IPUnnumberedDump) GetMessageType() api.MessageType { return api.RequestMessage }
4625 func (m *IPUnnumberedDump) Size() int {
4630 // field[1] m.SwIfIndex
4634 func (m *IPUnnumberedDump) Marshal(b []byte) ([]byte, error) {
4635 o := binary.BigEndian
4641 buf = make([]byte, m.Size())
4645 // field[1] m.SwIfIndex
4646 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
4650 func (m *IPUnnumberedDump) Unmarshal(tmp []byte) error {
4651 o := binary.BigEndian
4655 // field[1] m.SwIfIndex
4656 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
4661 // MfibSignalDetails represents VPP binary API message 'mfib_signal_details'.
4662 type MfibSignalDetails struct {
4663 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
4664 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
4665 Prefix Mprefix `binapi:"mprefix,name=prefix" json:"prefix,omitempty"`
4666 IPPacketLen uint16 `binapi:"u16,name=ip_packet_len" json:"ip_packet_len,omitempty"`
4667 IPPacketData []byte `binapi:"u8[256],name=ip_packet_data" json:"ip_packet_data,omitempty" struc:"[256]byte"`
4670 func (m *MfibSignalDetails) Reset() { *m = MfibSignalDetails{} }
4671 func (*MfibSignalDetails) GetMessageName() string { return "mfib_signal_details" }
4672 func (*MfibSignalDetails) GetCrcString() string { return "64398a9a" }
4673 func (*MfibSignalDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
4675 func (m *MfibSignalDetails) Size() int {
4680 // field[1] m.SwIfIndex
4682 // field[1] m.TableID
4684 // field[1] m.Prefix
4685 // field[2] m.Prefix.Af
4687 // field[2] m.Prefix.GrpAddressLength
4689 // field[2] m.Prefix.GrpAddress
4691 // field[2] m.Prefix.SrcAddress
4693 // field[1] m.IPPacketLen
4695 // field[1] m.IPPacketData
4699 func (m *MfibSignalDetails) Marshal(b []byte) ([]byte, error) {
4700 o := binary.BigEndian
4706 buf = make([]byte, m.Size())
4710 // field[1] m.SwIfIndex
4711 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
4713 // field[1] m.TableID
4714 o.PutUint32(buf[pos:pos+4], uint32(m.TableID))
4716 // field[1] m.Prefix
4717 // field[2] m.Prefix.Af
4718 buf[pos] = uint8(m.Prefix.Af)
4720 // field[2] m.Prefix.GrpAddressLength
4721 o.PutUint16(buf[pos:pos+2], uint16(m.Prefix.GrpAddressLength))
4723 // field[2] m.Prefix.GrpAddress
4724 copy(buf[pos:pos+16], m.Prefix.GrpAddress.XXX_UnionData[:])
4726 // field[2] m.Prefix.SrcAddress
4727 copy(buf[pos:pos+16], m.Prefix.SrcAddress.XXX_UnionData[:])
4729 // field[1] m.IPPacketLen
4730 o.PutUint16(buf[pos:pos+2], uint16(m.IPPacketLen))
4732 // field[1] m.IPPacketData
4733 for i := 0; i < 256; i++ {
4735 if i < len(m.IPPacketData) {
4736 x = uint8(m.IPPacketData[i])
4743 func (m *MfibSignalDetails) Unmarshal(tmp []byte) error {
4744 o := binary.BigEndian
4748 // field[1] m.SwIfIndex
4749 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
4751 // field[1] m.TableID
4752 m.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
4754 // field[1] m.Prefix
4755 // field[2] m.Prefix.Af
4756 m.Prefix.Af = AddressFamily(tmp[pos])
4758 // field[2] m.Prefix.GrpAddressLength
4759 m.Prefix.GrpAddressLength = uint16(o.Uint16(tmp[pos : pos+2]))
4761 // field[2] m.Prefix.GrpAddress
4762 copy(m.Prefix.GrpAddress.XXX_UnionData[:], tmp[pos:pos+16])
4764 // field[2] m.Prefix.SrcAddress
4765 copy(m.Prefix.SrcAddress.XXX_UnionData[:], tmp[pos:pos+16])
4767 // field[1] m.IPPacketLen
4768 m.IPPacketLen = uint16(o.Uint16(tmp[pos : pos+2]))
4770 // field[1] m.IPPacketData
4771 m.IPPacketData = make([]uint8, 256)
4772 for i := 0; i < len(m.IPPacketData); i++ {
4773 m.IPPacketData[i] = uint8(tmp[pos])
4779 // MfibSignalDump represents VPP binary API message 'mfib_signal_dump'.
4780 type MfibSignalDump struct{}
4782 func (m *MfibSignalDump) Reset() { *m = MfibSignalDump{} }
4783 func (*MfibSignalDump) GetMessageName() string { return "mfib_signal_dump" }
4784 func (*MfibSignalDump) GetCrcString() string { return "51077d14" }
4785 func (*MfibSignalDump) GetMessageType() api.MessageType { return api.RequestMessage }
4787 func (m *MfibSignalDump) Size() int {
4794 func (m *MfibSignalDump) Marshal(b []byte) ([]byte, error) {
4795 o := binary.BigEndian
4801 buf = make([]byte, m.Size())
4807 func (m *MfibSignalDump) Unmarshal(tmp []byte) error {
4808 o := binary.BigEndian
4815 // SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash'.
4816 type SetIPFlowHash struct {
4817 VrfID uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
4818 IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
4819 Src bool `binapi:"bool,name=src" json:"src,omitempty"`
4820 Dst bool `binapi:"bool,name=dst" json:"dst,omitempty"`
4821 Sport bool `binapi:"bool,name=sport" json:"sport,omitempty"`
4822 Dport bool `binapi:"bool,name=dport" json:"dport,omitempty"`
4823 Proto bool `binapi:"bool,name=proto" json:"proto,omitempty"`
4824 Reverse bool `binapi:"bool,name=reverse" json:"reverse,omitempty"`
4825 Symmetric bool `binapi:"bool,name=symmetric" json:"symmetric,omitempty"`
4828 func (m *SetIPFlowHash) Reset() { *m = SetIPFlowHash{} }
4829 func (*SetIPFlowHash) GetMessageName() string { return "set_ip_flow_hash" }
4830 func (*SetIPFlowHash) GetCrcString() string { return "084ee09e" }
4831 func (*SetIPFlowHash) GetMessageType() api.MessageType { return api.RequestMessage }
4833 func (m *SetIPFlowHash) Size() int {
4840 // field[1] m.IsIPv6
4852 // field[1] m.Reverse
4854 // field[1] m.Symmetric
4858 func (m *SetIPFlowHash) Marshal(b []byte) ([]byte, error) {
4859 o := binary.BigEndian
4865 buf = make([]byte, m.Size())
4870 o.PutUint32(buf[pos:pos+4], uint32(m.VrfID))
4872 // field[1] m.IsIPv6
4902 // field[1] m.Reverse
4907 // field[1] m.Symmetric
4914 func (m *SetIPFlowHash) Unmarshal(tmp []byte) error {
4915 o := binary.BigEndian
4920 m.VrfID = uint32(o.Uint32(tmp[pos : pos+4]))
4922 // field[1] m.IsIPv6
4923 m.IsIPv6 = tmp[pos] != 0
4926 m.Src = tmp[pos] != 0
4929 m.Dst = tmp[pos] != 0
4932 m.Sport = tmp[pos] != 0
4935 m.Dport = tmp[pos] != 0
4938 m.Proto = tmp[pos] != 0
4940 // field[1] m.Reverse
4941 m.Reverse = tmp[pos] != 0
4943 // field[1] m.Symmetric
4944 m.Symmetric = tmp[pos] != 0
4949 // SetIPFlowHashReply represents VPP binary API message 'set_ip_flow_hash_reply'.
4950 type SetIPFlowHashReply struct {
4951 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
4954 func (m *SetIPFlowHashReply) Reset() { *m = SetIPFlowHashReply{} }
4955 func (*SetIPFlowHashReply) GetMessageName() string { return "set_ip_flow_hash_reply" }
4956 func (*SetIPFlowHashReply) GetCrcString() string { return "e8d4e804" }
4957 func (*SetIPFlowHashReply) GetMessageType() api.MessageType { return api.ReplyMessage }
4959 func (m *SetIPFlowHashReply) Size() int {
4964 // field[1] m.Retval
4968 func (m *SetIPFlowHashReply) Marshal(b []byte) ([]byte, error) {
4969 o := binary.BigEndian
4975 buf = make([]byte, m.Size())
4979 // field[1] m.Retval
4980 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
4984 func (m *SetIPFlowHashReply) Unmarshal(tmp []byte) error {
4985 o := binary.BigEndian
4989 // field[1] m.Retval
4990 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
4995 // SwInterfaceIP6EnableDisable represents VPP binary API message 'sw_interface_ip6_enable_disable'.
4996 type SwInterfaceIP6EnableDisable struct {
4997 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
4998 Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"`
5001 func (m *SwInterfaceIP6EnableDisable) Reset() { *m = SwInterfaceIP6EnableDisable{} }
5002 func (*SwInterfaceIP6EnableDisable) GetMessageName() string { return "sw_interface_ip6_enable_disable" }
5003 func (*SwInterfaceIP6EnableDisable) GetCrcString() string { return "ae6cfcfb" }
5004 func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType { return api.RequestMessage }
5006 func (m *SwInterfaceIP6EnableDisable) Size() int {
5011 // field[1] m.SwIfIndex
5013 // field[1] m.Enable
5017 func (m *SwInterfaceIP6EnableDisable) Marshal(b []byte) ([]byte, error) {
5018 o := binary.BigEndian
5024 buf = make([]byte, m.Size())
5028 // field[1] m.SwIfIndex
5029 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
5031 // field[1] m.Enable
5038 func (m *SwInterfaceIP6EnableDisable) Unmarshal(tmp []byte) error {
5039 o := binary.BigEndian
5043 // field[1] m.SwIfIndex
5044 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
5046 // field[1] m.Enable
5047 m.Enable = tmp[pos] != 0
5052 // SwInterfaceIP6EnableDisableReply represents VPP binary API message 'sw_interface_ip6_enable_disable_reply'.
5053 type SwInterfaceIP6EnableDisableReply struct {
5054 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
5057 func (m *SwInterfaceIP6EnableDisableReply) Reset() { *m = SwInterfaceIP6EnableDisableReply{} }
5058 func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string {
5059 return "sw_interface_ip6_enable_disable_reply"
5061 func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string { return "e8d4e804" }
5062 func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
5064 func (m *SwInterfaceIP6EnableDisableReply) Size() int {
5069 // field[1] m.Retval
5073 func (m *SwInterfaceIP6EnableDisableReply) Marshal(b []byte) ([]byte, error) {
5074 o := binary.BigEndian
5080 buf = make([]byte, m.Size())
5084 // field[1] m.Retval
5085 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
5089 func (m *SwInterfaceIP6EnableDisableReply) Unmarshal(tmp []byte) error {
5090 o := binary.BigEndian
5094 // field[1] m.Retval
5095 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
5100 // SwInterfaceIP6SetLinkLocalAddress represents VPP binary API message 'sw_interface_ip6_set_link_local_address'.
5101 type SwInterfaceIP6SetLinkLocalAddress struct {
5102 SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
5103 IP IP6Address `binapi:"ip6_address,name=ip" json:"ip,omitempty"`
5106 func (m *SwInterfaceIP6SetLinkLocalAddress) Reset() { *m = SwInterfaceIP6SetLinkLocalAddress{} }
5107 func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageName() string {
5108 return "sw_interface_ip6_set_link_local_address"
5110 func (*SwInterfaceIP6SetLinkLocalAddress) GetCrcString() string { return "2931d9fa" }
5111 func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageType() api.MessageType { return api.RequestMessage }
5113 func (m *SwInterfaceIP6SetLinkLocalAddress) Size() int {
5118 // field[1] m.SwIfIndex
5124 func (m *SwInterfaceIP6SetLinkLocalAddress) Marshal(b []byte) ([]byte, error) {
5125 o := binary.BigEndian
5131 buf = make([]byte, m.Size())
5135 // field[1] m.SwIfIndex
5136 o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
5139 for i := 0; i < 16; i++ {
5149 func (m *SwInterfaceIP6SetLinkLocalAddress) Unmarshal(tmp []byte) error {
5150 o := binary.BigEndian
5154 // field[1] m.SwIfIndex
5155 m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
5158 for i := 0; i < len(m.IP); i++ {
5159 m.IP[i] = uint8(tmp[pos])
5165 // SwInterfaceIP6SetLinkLocalAddressReply represents VPP binary API message 'sw_interface_ip6_set_link_local_address_reply'.
5166 type SwInterfaceIP6SetLinkLocalAddressReply struct {
5167 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
5170 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Reset() {
5171 *m = SwInterfaceIP6SetLinkLocalAddressReply{}
5173 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageName() string {
5174 return "sw_interface_ip6_set_link_local_address_reply"
5176 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetCrcString() string { return "e8d4e804" }
5177 func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageType() api.MessageType {
5178 return api.ReplyMessage
5181 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Size() int {
5186 // field[1] m.Retval
5190 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Marshal(b []byte) ([]byte, error) {
5191 o := binary.BigEndian
5197 buf = make([]byte, m.Size())
5201 // field[1] m.Retval
5202 o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
5206 func (m *SwInterfaceIP6SetLinkLocalAddressReply) Unmarshal(tmp []byte) error {
5207 o := binary.BigEndian
5211 // field[1] m.Retval
5212 m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
5217 func init() { file_ip_binapi_init() }
5218 func file_ip_binapi_init() {
5219 api.RegisterMessage((*IoamDisable)(nil), "ip.IoamDisable")
5220 api.RegisterMessage((*IoamDisableReply)(nil), "ip.IoamDisableReply")
5221 api.RegisterMessage((*IoamEnable)(nil), "ip.IoamEnable")
5222 api.RegisterMessage((*IoamEnableReply)(nil), "ip.IoamEnableReply")
5223 api.RegisterMessage((*IPAddressDetails)(nil), "ip.IPAddressDetails")
5224 api.RegisterMessage((*IPAddressDump)(nil), "ip.IPAddressDump")
5225 api.RegisterMessage((*IPContainerProxyAddDel)(nil), "ip.IPContainerProxyAddDel")
5226 api.RegisterMessage((*IPContainerProxyAddDelReply)(nil), "ip.IPContainerProxyAddDelReply")
5227 api.RegisterMessage((*IPContainerProxyDetails)(nil), "ip.IPContainerProxyDetails")
5228 api.RegisterMessage((*IPContainerProxyDump)(nil), "ip.IPContainerProxyDump")
5229 api.RegisterMessage((*IPDetails)(nil), "ip.IPDetails")
5230 api.RegisterMessage((*IPDump)(nil), "ip.IPDump")
5231 api.RegisterMessage((*IPMrouteAddDel)(nil), "ip.IPMrouteAddDel")
5232 api.RegisterMessage((*IPMrouteAddDelReply)(nil), "ip.IPMrouteAddDelReply")
5233 api.RegisterMessage((*IPMrouteDetails)(nil), "ip.IPMrouteDetails")
5234 api.RegisterMessage((*IPMrouteDump)(nil), "ip.IPMrouteDump")
5235 api.RegisterMessage((*IPMtableDetails)(nil), "ip.IPMtableDetails")
5236 api.RegisterMessage((*IPMtableDump)(nil), "ip.IPMtableDump")
5237 api.RegisterMessage((*IPPuntPolice)(nil), "ip.IPPuntPolice")
5238 api.RegisterMessage((*IPPuntPoliceReply)(nil), "ip.IPPuntPoliceReply")
5239 api.RegisterMessage((*IPPuntRedirect)(nil), "ip.IPPuntRedirect")
5240 api.RegisterMessage((*IPPuntRedirectDetails)(nil), "ip.IPPuntRedirectDetails")
5241 api.RegisterMessage((*IPPuntRedirectDump)(nil), "ip.IPPuntRedirectDump")
5242 api.RegisterMessage((*IPPuntRedirectReply)(nil), "ip.IPPuntRedirectReply")
5243 api.RegisterMessage((*IPReassemblyEnableDisable)(nil), "ip.IPReassemblyEnableDisable")
5244 api.RegisterMessage((*IPReassemblyEnableDisableReply)(nil), "ip.IPReassemblyEnableDisableReply")
5245 api.RegisterMessage((*IPReassemblyGet)(nil), "ip.IPReassemblyGet")
5246 api.RegisterMessage((*IPReassemblyGetReply)(nil), "ip.IPReassemblyGetReply")
5247 api.RegisterMessage((*IPReassemblySet)(nil), "ip.IPReassemblySet")
5248 api.RegisterMessage((*IPReassemblySetReply)(nil), "ip.IPReassemblySetReply")
5249 api.RegisterMessage((*IPRouteAddDel)(nil), "ip.IPRouteAddDel")
5250 api.RegisterMessage((*IPRouteAddDelReply)(nil), "ip.IPRouteAddDelReply")
5251 api.RegisterMessage((*IPRouteDetails)(nil), "ip.IPRouteDetails")
5252 api.RegisterMessage((*IPRouteDump)(nil), "ip.IPRouteDump")
5253 api.RegisterMessage((*IPRouteLookup)(nil), "ip.IPRouteLookup")
5254 api.RegisterMessage((*IPRouteLookupReply)(nil), "ip.IPRouteLookupReply")
5255 api.RegisterMessage((*IPSourceAndPortRangeCheckAddDel)(nil), "ip.IPSourceAndPortRangeCheckAddDel")
5256 api.RegisterMessage((*IPSourceAndPortRangeCheckAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckAddDelReply")
5257 api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDel)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDel")
5258 api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDelReply")
5259 api.RegisterMessage((*IPTableAddDel)(nil), "ip.IPTableAddDel")
5260 api.RegisterMessage((*IPTableAddDelReply)(nil), "ip.IPTableAddDelReply")
5261 api.RegisterMessage((*IPTableDetails)(nil), "ip.IPTableDetails")
5262 api.RegisterMessage((*IPTableDump)(nil), "ip.IPTableDump")
5263 api.RegisterMessage((*IPTableFlush)(nil), "ip.IPTableFlush")
5264 api.RegisterMessage((*IPTableFlushReply)(nil), "ip.IPTableFlushReply")
5265 api.RegisterMessage((*IPTableReplaceBegin)(nil), "ip.IPTableReplaceBegin")
5266 api.RegisterMessage((*IPTableReplaceBeginReply)(nil), "ip.IPTableReplaceBeginReply")
5267 api.RegisterMessage((*IPTableReplaceEnd)(nil), "ip.IPTableReplaceEnd")
5268 api.RegisterMessage((*IPTableReplaceEndReply)(nil), "ip.IPTableReplaceEndReply")
5269 api.RegisterMessage((*IPUnnumberedDetails)(nil), "ip.IPUnnumberedDetails")
5270 api.RegisterMessage((*IPUnnumberedDump)(nil), "ip.IPUnnumberedDump")
5271 api.RegisterMessage((*MfibSignalDetails)(nil), "ip.MfibSignalDetails")
5272 api.RegisterMessage((*MfibSignalDump)(nil), "ip.MfibSignalDump")
5273 api.RegisterMessage((*SetIPFlowHash)(nil), "ip.SetIPFlowHash")
5274 api.RegisterMessage((*SetIPFlowHashReply)(nil), "ip.SetIPFlowHashReply")
5275 api.RegisterMessage((*SwInterfaceIP6EnableDisable)(nil), "ip.SwInterfaceIP6EnableDisable")
5276 api.RegisterMessage((*SwInterfaceIP6EnableDisableReply)(nil), "ip.SwInterfaceIP6EnableDisableReply")
5277 api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddress)(nil), "ip.SwInterfaceIP6SetLinkLocalAddress")
5278 api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddressReply)(nil), "ip.SwInterfaceIP6SetLinkLocalAddressReply")
5281 // Messages returns list of all messages in this module.
5282 func AllMessages() []api.Message {
5283 return []api.Message{
5284 (*IoamDisable)(nil),
5285 (*IoamDisableReply)(nil),
5287 (*IoamEnableReply)(nil),
5288 (*IPAddressDetails)(nil),
5289 (*IPAddressDump)(nil),
5290 (*IPContainerProxyAddDel)(nil),
5291 (*IPContainerProxyAddDelReply)(nil),
5292 (*IPContainerProxyDetails)(nil),
5293 (*IPContainerProxyDump)(nil),
5296 (*IPMrouteAddDel)(nil),
5297 (*IPMrouteAddDelReply)(nil),
5298 (*IPMrouteDetails)(nil),
5299 (*IPMrouteDump)(nil),
5300 (*IPMtableDetails)(nil),
5301 (*IPMtableDump)(nil),
5302 (*IPPuntPolice)(nil),
5303 (*IPPuntPoliceReply)(nil),
5304 (*IPPuntRedirect)(nil),
5305 (*IPPuntRedirectDetails)(nil),
5306 (*IPPuntRedirectDump)(nil),
5307 (*IPPuntRedirectReply)(nil),
5308 (*IPReassemblyEnableDisable)(nil),
5309 (*IPReassemblyEnableDisableReply)(nil),
5310 (*IPReassemblyGet)(nil),
5311 (*IPReassemblyGetReply)(nil),
5312 (*IPReassemblySet)(nil),
5313 (*IPReassemblySetReply)(nil),
5314 (*IPRouteAddDel)(nil),
5315 (*IPRouteAddDelReply)(nil),
5316 (*IPRouteDetails)(nil),
5317 (*IPRouteDump)(nil),
5318 (*IPRouteLookup)(nil),
5319 (*IPRouteLookupReply)(nil),
5320 (*IPSourceAndPortRangeCheckAddDel)(nil),
5321 (*IPSourceAndPortRangeCheckAddDelReply)(nil),
5322 (*IPSourceAndPortRangeCheckInterfaceAddDel)(nil),
5323 (*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil),
5324 (*IPTableAddDel)(nil),
5325 (*IPTableAddDelReply)(nil),
5326 (*IPTableDetails)(nil),
5327 (*IPTableDump)(nil),
5328 (*IPTableFlush)(nil),
5329 (*IPTableFlushReply)(nil),
5330 (*IPTableReplaceBegin)(nil),
5331 (*IPTableReplaceBeginReply)(nil),
5332 (*IPTableReplaceEnd)(nil),
5333 (*IPTableReplaceEndReply)(nil),
5334 (*IPUnnumberedDetails)(nil),
5335 (*IPUnnumberedDump)(nil),
5336 (*MfibSignalDetails)(nil),
5337 (*MfibSignalDump)(nil),
5338 (*SetIPFlowHash)(nil),
5339 (*SetIPFlowHashReply)(nil),
5340 (*SwInterfaceIP6EnableDisable)(nil),
5341 (*SwInterfaceIP6EnableDisableReply)(nil),
5342 (*SwInterfaceIP6SetLinkLocalAddress)(nil),
5343 (*SwInterfaceIP6SetLinkLocalAddressReply)(nil),
5347 // Reference imports to suppress errors if they are not otherwise used.
5348 var _ = api.RegisterMessage
5349 var _ = codec.DecodeString
5350 var _ = bytes.NewBuffer
5351 var _ = context.Background
5353 var _ = strconv.Itoa
5355 var _ = binary.BigEndian
5356 var _ = math.Float32bits