-// Code generated by GoVPP binapi-generator. DO NOT EDIT.
+// Code generated by GoVPP's binapi-generator. DO NOT EDIT.
+// versions:
+// binapi-generator: v0.4.0-dev
+// VPP: 20.05-release
// source: /usr/share/vpp/api/core/ip.api.json
/*
-Package ip is a generated from VPP binary API module 'ip'.
+Package ip contains generated code for VPP API file ip.api (3.0.1).
- The ip module consists of:
- 2 enums
- 3 aliases
- 12 types
+It consists of:
+ 7 aliases
+ 15 enums
+ 60 messages
+ 14 types
1 union
- 91 messages
- 44 services
*/
package ip
-import api "git.fd.io/govpp.git/api"
-import bytes "bytes"
-import context "context"
-import strconv "strconv"
-import struc "github.com/lunixbochs/struc"
+import (
+ "bytes"
+ "context"
+ "encoding/binary"
+ "io"
+ "math"
+ "strconv"
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = api.RegisterMessage
-var _ = bytes.NewBuffer
-var _ = context.Background
-var _ = strconv.Itoa
-var _ = struc.Pack
+ api "git.fd.io/govpp.git/api"
+ codec "git.fd.io/govpp.git/codec"
+ struc "github.com/lunixbochs/struc"
+
+ fib_types "git.fd.io/govpp.git/examples/binapi/fib_types"
+ interface_types "git.fd.io/govpp.git/examples/binapi/interface_types"
+)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the GoVPP api package it is being compiled against.
// A compilation error at this line likely means your copy of the
// GoVPP api package needs to be updated.
-const _ = api.GoVppAPIPackageIsVersion1 // please upgrade the GoVPP api package
+const _ = api.GoVppAPIPackageIsVersion2 // please upgrade the GoVPP api package
const (
// ModuleName is the name of this module.
ModuleName = "ip"
// APIVersion is the API version of this module.
- APIVersion = "2.0.0"
+ APIVersion = "3.0.1"
// VersionCrc is the CRC of this module.
- VersionCrc = 0x51ac4ce0
+ VersionCrc = 0x765d74b1
)
-/* Enums */
+type AddressFamily = fib_types.AddressFamily
+
+type FibPathFlags = fib_types.FibPathFlags
+
+type FibPathNhProto = fib_types.FibPathNhProto
+
+type FibPathType = fib_types.FibPathType
+
+type IfStatusFlags = interface_types.IfStatusFlags
+
+type IfType = interface_types.IfType
+
+type IPDscp = fib_types.IPDscp
+
+type IPEcn = fib_types.IPEcn
+
+type IPProto = fib_types.IPProto
-// AddressFamily represents VPP binary API enum 'address_family':
-type AddressFamily uint32
+// IPReassType represents VPP binary API enum 'ip_reass_type'.
+type IPReassType uint32
const (
- ADDRESS_IP4 AddressFamily = 0
- ADDRESS_IP6 AddressFamily = 1
+ IP_REASS_TYPE_FULL IPReassType = 0
+ IP_REASS_TYPE_SHALLOW_VIRTUAL IPReassType = 1
)
-var AddressFamily_name = map[uint32]string{
- 0: "ADDRESS_IP4",
- 1: "ADDRESS_IP6",
-}
-
-var AddressFamily_value = map[string]uint32{
- "ADDRESS_IP4": 0,
- "ADDRESS_IP6": 1,
-}
+var (
+ IPReassType_name = map[uint32]string{
+ 0: "IP_REASS_TYPE_FULL",
+ 1: "IP_REASS_TYPE_SHALLOW_VIRTUAL",
+ }
+ IPReassType_value = map[string]uint32{
+ "IP_REASS_TYPE_FULL": 0,
+ "IP_REASS_TYPE_SHALLOW_VIRTUAL": 1,
+ }
+)
-func (x AddressFamily) String() string {
- s, ok := AddressFamily_name[uint32(x)]
+func (x IPReassType) String() string {
+ s, ok := IPReassType_name[uint32(x)]
if ok {
return s
}
- return strconv.Itoa(int(x))
+ return "IPReassType(" + strconv.Itoa(int(x)) + ")"
}
-// IPNeighborFlags represents VPP binary API enum 'ip_neighbor_flags':
-type IPNeighborFlags uint32
+type LinkDuplex = interface_types.LinkDuplex
+
+// MfibItfFlags represents VPP binary API enum 'mfib_itf_flags'.
+type MfibItfFlags uint32
const (
- IP_API_NEIGHBOR_FLAG_NONE IPNeighborFlags = 0
- IP_API_NEIGHBOR_FLAG_STATIC IPNeighborFlags = 1
- IP_API_NEIGHBOR_FLAG_NO_FIB_ENTRY IPNeighborFlags = 2
+ MFIB_API_ITF_FLAG_NONE MfibItfFlags = 0
+ MFIB_API_ITF_FLAG_NEGATE_SIGNAL MfibItfFlags = 1
+ MFIB_API_ITF_FLAG_ACCEPT MfibItfFlags = 2
+ MFIB_API_ITF_FLAG_FORWARD MfibItfFlags = 4
+ MFIB_API_ITF_FLAG_SIGNAL_PRESENT MfibItfFlags = 8
+ MFIB_API_ITF_FLAG_DONT_PRESERVE MfibItfFlags = 16
)
-var IPNeighborFlags_name = map[uint32]string{
- 0: "IP_API_NEIGHBOR_FLAG_NONE",
- 1: "IP_API_NEIGHBOR_FLAG_STATIC",
- 2: "IP_API_NEIGHBOR_FLAG_NO_FIB_ENTRY",
-}
-
-var IPNeighborFlags_value = map[string]uint32{
- "IP_API_NEIGHBOR_FLAG_NONE": 0,
- "IP_API_NEIGHBOR_FLAG_STATIC": 1,
- "IP_API_NEIGHBOR_FLAG_NO_FIB_ENTRY": 2,
-}
+var (
+ MfibItfFlags_name = map[uint32]string{
+ 0: "MFIB_API_ITF_FLAG_NONE",
+ 1: "MFIB_API_ITF_FLAG_NEGATE_SIGNAL",
+ 2: "MFIB_API_ITF_FLAG_ACCEPT",
+ 4: "MFIB_API_ITF_FLAG_FORWARD",
+ 8: "MFIB_API_ITF_FLAG_SIGNAL_PRESENT",
+ 16: "MFIB_API_ITF_FLAG_DONT_PRESERVE",
+ }
+ MfibItfFlags_value = map[string]uint32{
+ "MFIB_API_ITF_FLAG_NONE": 0,
+ "MFIB_API_ITF_FLAG_NEGATE_SIGNAL": 1,
+ "MFIB_API_ITF_FLAG_ACCEPT": 2,
+ "MFIB_API_ITF_FLAG_FORWARD": 4,
+ "MFIB_API_ITF_FLAG_SIGNAL_PRESENT": 8,
+ "MFIB_API_ITF_FLAG_DONT_PRESERVE": 16,
+ }
+)
-func (x IPNeighborFlags) String() string {
- s, ok := IPNeighborFlags_name[uint32(x)]
+func (x MfibItfFlags) String() string {
+ s, ok := MfibItfFlags_name[uint32(x)]
if ok {
return s
}
- return strconv.Itoa(int(x))
+ return "MfibItfFlags(" + strconv.Itoa(int(x)) + ")"
}
-/* Aliases */
+type MtuProto = interface_types.MtuProto
-// IP4Address represents VPP binary API alias 'ip4_address':
-type IP4Address [4]uint8
+type RxMode = interface_types.RxMode
-// IP6Address represents VPP binary API alias 'ip6_address':
-type IP6Address [16]uint8
+type SubIfFlags = interface_types.SubIfFlags
-// MacAddress represents VPP binary API alias 'mac_address':
-type MacAddress [6]uint8
+type AddressWithPrefix = fib_types.AddressWithPrefix
-/* Types */
+type InterfaceIndex = interface_types.InterfaceIndex
-// Address represents VPP binary API type 'address':
-type Address struct {
- Af AddressFamily
- Un AddressUnion
-}
+type IP4Address = fib_types.IP4Address
-func (*Address) GetTypeName() string {
- return "address"
-}
-func (*Address) GetCrcString() string {
- return "09f11671"
-}
+type IP4AddressWithPrefix = fib_types.IP4AddressWithPrefix
-// FibMplsLabel represents VPP binary API type 'fib_mpls_label':
-type FibMplsLabel struct {
- IsUniform uint8
- Label uint32
- TTL uint8
- Exp uint8
-}
+type IP6Address = fib_types.IP6Address
-func (*FibMplsLabel) GetTypeName() string {
- return "fib_mpls_label"
-}
-func (*FibMplsLabel) GetCrcString() string {
- return "c93bf35c"
-}
+type IP6AddressWithPrefix = fib_types.IP6AddressWithPrefix
-// FibPath represents VPP binary API type 'fib_path':
-type FibPath struct {
- SwIfIndex uint32
- TableID uint32
- Weight uint8
- Preference uint8
- IsLocal uint8
- IsDrop uint8
- IsUDPEncap uint8
- IsUnreach uint8
- IsProhibit uint8
- IsResolveHost uint8
- IsResolveAttached uint8
- IsDvr uint8
- IsSourceLookup uint8
- IsInterfaceRx uint8
- Afi uint8
- NextHop []byte `struc:"[16]byte"`
- NextHopID uint32
- RpfID uint32
- ViaLabel uint32
- NLabels uint8
- LabelStack []FibMplsLabel `struc:"[16]FibMplsLabel"`
-}
+// MacAddress represents VPP binary API alias 'mac_address'.
+type MacAddress [6]uint8
-func (*FibPath) GetTypeName() string {
- return "fib_path"
-}
-func (*FibPath) GetCrcString() string {
- return "ba7a81f0"
-}
+type Address = fib_types.Address
-// IP4Prefix represents VPP binary API type 'ip4_prefix':
-type IP4Prefix struct {
- Prefix IP4Address
- Len uint8
-}
+type FibMplsLabel = fib_types.FibMplsLabel
-func (*IP4Prefix) GetTypeName() string {
- return "ip4_prefix"
-}
-func (*IP4Prefix) GetCrcString() string {
- return "ea8dc11d"
-}
+type FibPath = fib_types.FibPath
-// IP6Prefix represents VPP binary API type 'ip6_prefix':
-type IP6Prefix struct {
- Prefix IP6Address
- Len uint8
-}
+type FibPathNh = fib_types.FibPathNh
-func (*IP6Prefix) GetTypeName() string {
- return "ip6_prefix"
-}
-func (*IP6Prefix) GetCrcString() string {
- return "779fd64f"
-}
+type IP4Prefix = fib_types.IP4Prefix
-// IP6RaPrefixInfo represents VPP binary API type 'ip6_ra_prefix_info':
-type IP6RaPrefixInfo struct {
- Prefix Prefix
- Flags uint8
- ValidTime uint32
- PreferredTime uint32
-}
+type IP6Prefix = fib_types.IP6Prefix
-func (*IP6RaPrefixInfo) GetTypeName() string {
- return "ip6_ra_prefix_info"
-}
-func (*IP6RaPrefixInfo) GetCrcString() string {
- return "fa025b72"
+// IPMroute represents VPP binary API type 'ip_mroute'.
+type IPMroute struct {
+ TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
+ EntryFlags uint32 `binapi:"u32,name=entry_flags" json:"entry_flags,omitempty"`
+ RpfID uint32 `binapi:"u32,name=rpf_id" json:"rpf_id,omitempty"`
+ Prefix Mprefix `binapi:"mprefix,name=prefix" json:"prefix,omitempty"`
+ NPaths uint8 `binapi:"u8,name=n_paths" json:"n_paths,omitempty" struc:"sizeof=Paths"`
+ Paths []MfibPath `binapi:"mfib_path[n_paths],name=paths" json:"paths,omitempty"`
}
-// IPNeighbor represents VPP binary API type 'ip_neighbor':
-type IPNeighbor struct {
- SwIfIndex uint32
- Flags IPNeighborFlags
- MacAddress MacAddress
- IPAddress Address
-}
+func (*IPMroute) GetTypeName() string { return "ip_mroute" }
-func (*IPNeighbor) GetTypeName() string {
- return "ip_neighbor"
-}
-func (*IPNeighbor) GetCrcString() string {
- return "4bf82d5d"
+// IPRoute represents VPP binary API type 'ip_route'.
+type IPRoute struct {
+ TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
+ StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
+ Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
+ NPaths uint8 `binapi:"u8,name=n_paths" json:"n_paths,omitempty" struc:"sizeof=Paths"`
+ Paths []FibPath `binapi:"fib_path[n_paths],name=paths" json:"paths,omitempty"`
}
-// MfibPath represents VPP binary API type 'mfib_path':
-type MfibPath struct {
- Path FibPath
- ItfFlags uint32
-}
+func (*IPRoute) GetTypeName() string { return "ip_route" }
-func (*MfibPath) GetTypeName() string {
- return "mfib_path"
-}
-func (*MfibPath) GetCrcString() string {
- return "4ba77d32"
+// IPTable represents VPP binary API type 'ip_table'.
+type IPTable struct {
+ TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
+ IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
+ Name string `binapi:"string[64],name=name" json:"name,omitempty" struc:"[64]byte"`
}
-// Mprefix represents VPP binary API type 'mprefix':
-type Mprefix struct {
- Af AddressFamily
- GrpAddressLength uint16
- GrpAddress AddressUnion
- SrcAddress AddressUnion
-}
+func (*IPTable) GetTypeName() string { return "ip_table" }
-func (*Mprefix) GetTypeName() string {
- return "mprefix"
-}
-func (*Mprefix) GetCrcString() string {
- return "1c4cba05"
+// MfibPath represents VPP binary API type 'mfib_path'.
+type MfibPath struct {
+ ItfFlags MfibItfFlags `binapi:"mfib_itf_flags,name=itf_flags" json:"itf_flags,omitempty"`
+ Path FibPath `binapi:"fib_path,name=path" json:"path,omitempty"`
}
-// Prefix represents VPP binary API type 'prefix':
-type Prefix struct {
- Address Address
- AddressLength uint8
-}
+func (*MfibPath) GetTypeName() string { return "mfib_path" }
-func (*Prefix) GetTypeName() string {
- return "prefix"
-}
-func (*Prefix) GetCrcString() string {
- return "0403aebc"
-}
+type Mprefix = fib_types.Mprefix
-// ProxyArp represents VPP binary API type 'proxy_arp':
-type ProxyArp struct {
- TableID uint32
- Low IP4Address
- Hi IP4Address
-}
+type Prefix = fib_types.Prefix
-func (*ProxyArp) GetTypeName() string {
- return "proxy_arp"
-}
-func (*ProxyArp) GetCrcString() string {
- return "e9067693"
-}
+type PrefixMatcher = fib_types.PrefixMatcher
-// PuntRedirect represents VPP binary API type 'punt_redirect':
+// PuntRedirect represents VPP binary API type 'punt_redirect'.
type PuntRedirect struct {
- RxSwIfIndex uint32
- TxSwIfIndex uint32
- Nh Address
+ RxSwIfIndex InterfaceIndex `binapi:"interface_index,name=rx_sw_if_index" json:"rx_sw_if_index,omitempty"`
+ TxSwIfIndex InterfaceIndex `binapi:"interface_index,name=tx_sw_if_index" json:"tx_sw_if_index,omitempty"`
+ Nh Address `binapi:"address,name=nh" json:"nh,omitempty"`
}
-func (*PuntRedirect) GetTypeName() string {
- return "punt_redirect"
-}
-func (*PuntRedirect) GetCrcString() string {
- return "3e7a801f"
-}
+func (*PuntRedirect) GetTypeName() string { return "punt_redirect" }
-/* Unions */
+type AddressUnion = fib_types.AddressUnion
-// AddressUnion represents VPP binary API union 'address_union':
-type AddressUnion struct {
- XXX_UnionData [16]byte
+// IoamDisable represents VPP binary API message 'ioam_disable'.
+type IoamDisable struct {
+ ID uint16 `binapi:"u16,name=id" json:"id,omitempty"`
}
-func (*AddressUnion) GetTypeName() string {
- return "address_union"
-}
-func (*AddressUnion) GetCrcString() string {
- return "d68a2fb4"
-}
+func (m *IoamDisable) Reset() { *m = IoamDisable{} }
+func (*IoamDisable) GetMessageName() string { return "ioam_disable" }
+func (*IoamDisable) GetCrcString() string { return "6b16a45e" }
+func (*IoamDisable) GetMessageType() api.MessageType { return api.RequestMessage }
-func AddressUnionIP4(a IP4Address) (u AddressUnion) {
- u.SetIP4(a)
- return
-}
-func (u *AddressUnion) SetIP4(a IP4Address) {
- var b = new(bytes.Buffer)
- if err := struc.Pack(b, &a); err != nil {
- return
+func (m *IoamDisable) Size() int {
+ if m == nil {
+ return 0
}
- copy(u.XXX_UnionData[:], b.Bytes())
-}
-func (u *AddressUnion) GetIP4() (a IP4Address) {
- var b = bytes.NewReader(u.XXX_UnionData[:])
- struc.Unpack(b, &a)
- return
+ var size int
+ // field[1] m.ID
+ size += 2
+ return size
+}
+func (m *IoamDisable) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.ID
+ o.PutUint16(buf[pos:pos+2], uint16(m.ID))
+ pos += 2
+ return buf, nil
+}
+func (m *IoamDisable) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.ID
+ m.ID = uint16(o.Uint16(tmp[pos : pos+2]))
+ pos += 2
+ return nil
+}
+
+// IoamDisableReply represents VPP binary API message 'ioam_disable_reply'.
+type IoamDisableReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-func AddressUnionIP6(a IP6Address) (u AddressUnion) {
- u.SetIP6(a)
- return
-}
-func (u *AddressUnion) SetIP6(a IP6Address) {
- var b = new(bytes.Buffer)
- if err := struc.Pack(b, &a); err != nil {
- return
+func (m *IoamDisableReply) Reset() { *m = IoamDisableReply{} }
+func (*IoamDisableReply) GetMessageName() string { return "ioam_disable_reply" }
+func (*IoamDisableReply) GetCrcString() string { return "e8d4e804" }
+func (*IoamDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
+
+func (m *IoamDisableReply) Size() int {
+ if m == nil {
+ return 0
}
- copy(u.XXX_UnionData[:], b.Bytes())
-}
-func (u *AddressUnion) GetIP6() (a IP6Address) {
- var b = bytes.NewReader(u.XXX_UnionData[:])
- struc.Unpack(b, &a)
- return
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IoamDisableReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IoamDisableReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IoamEnable represents VPP binary API message 'ioam_enable'.
+type IoamEnable struct {
+ ID uint16 `binapi:"u16,name=id" json:"id,omitempty"`
+ Seqno bool `binapi:"bool,name=seqno" json:"seqno,omitempty"`
+ Analyse bool `binapi:"bool,name=analyse" json:"analyse,omitempty"`
+ PotEnable bool `binapi:"bool,name=pot_enable" json:"pot_enable,omitempty"`
+ TraceEnable bool `binapi:"bool,name=trace_enable" json:"trace_enable,omitempty"`
+ NodeID uint32 `binapi:"u32,name=node_id" json:"node_id,omitempty"`
+}
+
+func (m *IoamEnable) Reset() { *m = IoamEnable{} }
+func (*IoamEnable) GetMessageName() string { return "ioam_enable" }
+func (*IoamEnable) GetCrcString() string { return "51ccd868" }
+func (*IoamEnable) GetMessageType() api.MessageType { return api.RequestMessage }
+
+func (m *IoamEnable) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.ID
+ size += 2
+ // field[1] m.Seqno
+ size += 1
+ // field[1] m.Analyse
+ size += 1
+ // field[1] m.PotEnable
+ size += 1
+ // field[1] m.TraceEnable
+ size += 1
+ // field[1] m.NodeID
+ size += 4
+ return size
+}
+func (m *IoamEnable) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.ID
+ o.PutUint16(buf[pos:pos+2], uint16(m.ID))
+ pos += 2
+ // field[1] m.Seqno
+ if m.Seqno {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Analyse
+ if m.Analyse {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.PotEnable
+ if m.PotEnable {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.TraceEnable
+ if m.TraceEnable {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.NodeID
+ o.PutUint32(buf[pos:pos+4], uint32(m.NodeID))
+ pos += 4
+ return buf, nil
+}
+func (m *IoamEnable) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.ID
+ m.ID = uint16(o.Uint16(tmp[pos : pos+2]))
+ pos += 2
+ // field[1] m.Seqno
+ m.Seqno = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Analyse
+ m.Analyse = tmp[pos] != 0
+ pos += 1
+ // field[1] m.PotEnable
+ m.PotEnable = tmp[pos] != 0
+ pos += 1
+ // field[1] m.TraceEnable
+ m.TraceEnable = tmp[pos] != 0
+ pos += 1
+ // field[1] m.NodeID
+ m.NodeID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IoamEnableReply represents VPP binary API message 'ioam_enable_reply'.
+type IoamEnableReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-/* Messages */
+func (m *IoamEnableReply) Reset() { *m = IoamEnableReply{} }
+func (*IoamEnableReply) GetMessageName() string { return "ioam_enable_reply" }
+func (*IoamEnableReply) GetCrcString() string { return "e8d4e804" }
+func (*IoamEnableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-// IoamDisable represents VPP binary API message 'ioam_disable':
-type IoamDisable struct {
- ID uint16
+func (m *IoamEnableReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IoamEnableReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IoamEnableReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPAddressDetails represents VPP binary API message 'ip_address_details'.
+type IPAddressDetails struct {
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ Prefix AddressWithPrefix `binapi:"address_with_prefix,name=prefix" json:"prefix,omitempty"`
}
-func (*IoamDisable) GetMessageName() string {
- return "ioam_disable"
-}
-func (*IoamDisable) GetCrcString() string {
- return "6b16a45e"
-}
-func (*IoamDisable) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
+func (m *IPAddressDetails) Reset() { *m = IPAddressDetails{} }
+func (*IPAddressDetails) GetMessageName() string { return "ip_address_details" }
+func (*IPAddressDetails) GetCrcString() string { return "b1199745" }
+func (*IPAddressDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
-// IoamDisableReply represents VPP binary API message 'ioam_disable_reply':
-type IoamDisableReply struct {
- Retval int32
+func (m *IPAddressDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.SwIfIndex
+ size += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ size += 1
+ // field[3] m.Prefix.Address.Un
+ size += 16
+ // field[2] m.Prefix.Len
+ size += 1
+ return size
+}
+func (m *IPAddressDetails) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ buf[pos] = uint8(m.Prefix.Address.Af)
+ pos += 1
+ // field[3] m.Prefix.Address.Un
+ copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
+ pos += 16
+ // field[2] m.Prefix.Len
+ buf[pos] = uint8(m.Prefix.Len)
+ pos += 1
+ return buf, nil
+}
+func (m *IPAddressDetails) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ m.Prefix.Address.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[3] m.Prefix.Address.Un
+ copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[2] m.Prefix.Len
+ m.Prefix.Len = uint8(tmp[pos])
+ pos += 1
+ return nil
+}
+
+// IPAddressDump represents VPP binary API message 'ip_address_dump'.
+type IPAddressDump struct {
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
}
-func (*IoamDisableReply) GetMessageName() string {
- return "ioam_disable_reply"
-}
-func (*IoamDisableReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*IoamDisableReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
+func (m *IPAddressDump) Reset() { *m = IPAddressDump{} }
+func (*IPAddressDump) GetMessageName() string { return "ip_address_dump" }
+func (*IPAddressDump) GetCrcString() string { return "2d033de4" }
+func (*IPAddressDump) GetMessageType() api.MessageType { return api.RequestMessage }
-// IoamEnable represents VPP binary API message 'ioam_enable':
-type IoamEnable struct {
- ID uint16
- Seqno uint8
- Analyse uint8
- PotEnable uint8
- TraceEnable uint8
- NodeID uint32
+func (m *IPAddressDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.SwIfIndex
+ size += 4
+ // field[1] m.IsIPv6
+ size += 1
+ return size
+}
+func (m *IPAddressDump) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ // field[1] m.IsIPv6
+ if m.IsIPv6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ return buf, nil
+}
+func (m *IPAddressDump) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.IsIPv6
+ m.IsIPv6 = tmp[pos] != 0
+ pos += 1
+ return nil
+}
+
+// IPContainerProxyAddDel represents VPP binary API message 'ip_container_proxy_add_del'.
+type IPContainerProxyAddDel struct {
+ Pfx Prefix `binapi:"prefix,name=pfx" json:"pfx,omitempty"`
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
}
-func (*IoamEnable) GetMessageName() string {
- return "ioam_enable"
-}
-func (*IoamEnable) GetCrcString() string {
- return "9392e032"
-}
-func (*IoamEnable) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
+func (m *IPContainerProxyAddDel) Reset() { *m = IPContainerProxyAddDel{} }
+func (*IPContainerProxyAddDel) GetMessageName() string { return "ip_container_proxy_add_del" }
+func (*IPContainerProxyAddDel) GetCrcString() string { return "91189f40" }
+func (*IPContainerProxyAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
-// IoamEnableReply represents VPP binary API message 'ioam_enable_reply':
-type IoamEnableReply struct {
- Retval int32
+func (m *IPContainerProxyAddDel) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Pfx
+ // field[2] m.Pfx.Address
+ // field[3] m.Pfx.Address.Af
+ size += 1
+ // field[3] m.Pfx.Address.Un
+ size += 16
+ // field[2] m.Pfx.Len
+ size += 1
+ // field[1] m.SwIfIndex
+ size += 4
+ // field[1] m.IsAdd
+ size += 1
+ return size
+}
+func (m *IPContainerProxyAddDel) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Pfx
+ // field[2] m.Pfx.Address
+ // field[3] m.Pfx.Address.Af
+ buf[pos] = uint8(m.Pfx.Address.Af)
+ pos += 1
+ // field[3] m.Pfx.Address.Un
+ copy(buf[pos:pos+16], m.Pfx.Address.Un.XXX_UnionData[:])
+ pos += 16
+ // field[2] m.Pfx.Len
+ buf[pos] = uint8(m.Pfx.Len)
+ pos += 1
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ // field[1] m.IsAdd
+ if m.IsAdd {
+ buf[pos] = 1
+ }
+ pos += 1
+ return buf, nil
+}
+func (m *IPContainerProxyAddDel) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Pfx
+ // field[2] m.Pfx.Address
+ // field[3] m.Pfx.Address.Af
+ m.Pfx.Address.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[3] m.Pfx.Address.Un
+ copy(m.Pfx.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[2] m.Pfx.Len
+ m.Pfx.Len = uint8(tmp[pos])
+ pos += 1
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.IsAdd
+ m.IsAdd = tmp[pos] != 0
+ pos += 1
+ return nil
+}
+
+// IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply'.
+type IPContainerProxyAddDelReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-func (*IoamEnableReply) GetMessageName() string {
- return "ioam_enable_reply"
-}
-func (*IoamEnableReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*IoamEnableReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
+func (m *IPContainerProxyAddDelReply) Reset() { *m = IPContainerProxyAddDelReply{} }
+func (*IPContainerProxyAddDelReply) GetMessageName() string {
+ return "ip_container_proxy_add_del_reply"
}
+func (*IPContainerProxyAddDelReply) GetCrcString() string { return "e8d4e804" }
+func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-// IP4ArpEvent represents VPP binary API message 'ip4_arp_event':
-type IP4ArpEvent struct {
- IP IP4Address
- PID uint32
- SwIfIndex uint32
- Mac MacAddress
- MacIP uint8
+func (m *IPContainerProxyAddDelReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IPContainerProxyAddDelReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IPContainerProxyAddDelReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPContainerProxyDetails represents VPP binary API message 'ip_container_proxy_details'.
+type IPContainerProxyDetails struct {
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
}
-func (*IP4ArpEvent) GetMessageName() string {
- return "ip4_arp_event"
-}
-func (*IP4ArpEvent) GetCrcString() string {
- return "72cdde7c"
-}
-func (*IP4ArpEvent) GetMessageType() api.MessageType {
- return api.EventMessage
-}
+func (m *IPContainerProxyDetails) Reset() { *m = IPContainerProxyDetails{} }
+func (*IPContainerProxyDetails) GetMessageName() string { return "ip_container_proxy_details" }
+func (*IPContainerProxyDetails) GetCrcString() string { return "0ee460e8" }
+func (*IPContainerProxyDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
-// IP6FibDetails represents VPP binary API message 'ip6_fib_details':
-type IP6FibDetails struct {
- TableID uint32
- TableName []byte `struc:"[64]byte"`
- AddressLength uint8
- Address []byte `struc:"[16]byte"`
- Count uint32 `struc:"sizeof=Path"`
- StatsIndex uint32
- Path []FibPath
-}
+func (m *IPContainerProxyDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.SwIfIndex
+ size += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ size += 1
+ // field[3] m.Prefix.Address.Un
+ size += 16
+ // field[2] m.Prefix.Len
+ size += 1
+ return size
+}
+func (m *IPContainerProxyDetails) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ buf[pos] = uint8(m.Prefix.Address.Af)
+ pos += 1
+ // field[3] m.Prefix.Address.Un
+ copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
+ pos += 16
+ // field[2] m.Prefix.Len
+ buf[pos] = uint8(m.Prefix.Len)
+ pos += 1
+ return buf, nil
+}
+func (m *IPContainerProxyDetails) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ m.Prefix.Address.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[3] m.Prefix.Address.Un
+ copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[2] m.Prefix.Len
+ m.Prefix.Len = uint8(tmp[pos])
+ pos += 1
+ return nil
+}
+
+// IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump'.
+type IPContainerProxyDump struct{}
-func (*IP6FibDetails) GetMessageName() string {
- return "ip6_fib_details"
+func (m *IPContainerProxyDump) Reset() { *m = IPContainerProxyDump{} }
+func (*IPContainerProxyDump) GetMessageName() string { return "ip_container_proxy_dump" }
+func (*IPContainerProxyDump) GetCrcString() string { return "51077d14" }
+func (*IPContainerProxyDump) GetMessageType() api.MessageType { return api.RequestMessage }
+
+func (m *IPContainerProxyDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ return size
+}
+func (m *IPContainerProxyDump) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ return buf, nil
}
-func (*IP6FibDetails) GetCrcString() string {
- return "ef11e94d"
+func (m *IPContainerProxyDump) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ return nil
}
-func (*IP6FibDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
+
+// IPDetails represents VPP binary API message 'ip_details'.
+type IPDetails struct {
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
}
-// IP6FibDump represents VPP binary API message 'ip6_fib_dump':
-type IP6FibDump struct{}
+func (m *IPDetails) Reset() { *m = IPDetails{} }
+func (*IPDetails) GetMessageName() string { return "ip_details" }
+func (*IPDetails) GetCrcString() string { return "eb152d07" }
+func (*IPDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
-func (*IP6FibDump) GetMessageName() string {
- return "ip6_fib_dump"
-}
-func (*IP6FibDump) GetCrcString() string {
- return "51077d14"
-}
-func (*IP6FibDump) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (m *IPDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.SwIfIndex
+ size += 4
+ // field[1] m.IsIPv6
+ size += 1
+ return size
+}
+func (m *IPDetails) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ // field[1] m.IsIPv6
+ if m.IsIPv6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ return buf, nil
+}
+func (m *IPDetails) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.IsIPv6
+ m.IsIPv6 = tmp[pos] != 0
+ pos += 1
+ return nil
+}
+
+// IPDump represents VPP binary API message 'ip_dump'.
+type IPDump struct {
+ IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
}
-// IP6MfibDetails represents VPP binary API message 'ip6_mfib_details':
-type IP6MfibDetails struct {
- TableID uint32
- AddressLength uint8
- GrpAddress []byte `struc:"[16]byte"`
- SrcAddress []byte `struc:"[16]byte"`
- Count uint32 `struc:"sizeof=Path"`
- Path []MfibPath
-}
+func (m *IPDump) Reset() { *m = IPDump{} }
+func (*IPDump) GetMessageName() string { return "ip_dump" }
+func (*IPDump) GetCrcString() string { return "98d231ca" }
+func (*IPDump) GetMessageType() api.MessageType { return api.RequestMessage }
-func (*IP6MfibDetails) GetMessageName() string {
- return "ip6_mfib_details"
+func (m *IPDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.IsIPv6
+ size += 1
+ return size
+}
+func (m *IPDump) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.IsIPv6
+ if m.IsIPv6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ return buf, nil
}
-func (*IP6MfibDetails) GetCrcString() string {
- return "738c546e"
+func (m *IPDump) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.IsIPv6
+ m.IsIPv6 = tmp[pos] != 0
+ pos += 1
+ return nil
}
-func (*IP6MfibDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
+
+// IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del'.
+type IPMrouteAddDel struct {
+ IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
+ IsMultipath bool `binapi:"bool,name=is_multipath" json:"is_multipath,omitempty"`
+ Route IPMroute `binapi:"ip_mroute,name=route" json:"route,omitempty"`
}
-// IP6MfibDump represents VPP binary API message 'ip6_mfib_dump':
-type IP6MfibDump struct{}
+func (m *IPMrouteAddDel) Reset() { *m = IPMrouteAddDel{} }
+func (*IPMrouteAddDel) GetMessageName() string { return "ip_mroute_add_del" }
+func (*IPMrouteAddDel) GetCrcString() string { return "f6627d17" }
+func (*IPMrouteAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
-func (*IP6MfibDump) GetMessageName() string {
- return "ip6_mfib_dump"
-}
-func (*IP6MfibDump) GetCrcString() string {
- return "51077d14"
-}
-func (*IP6MfibDump) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (m *IPMrouteAddDel) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.IsAdd
+ size += 1
+ // field[1] m.IsMultipath
+ size += 1
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ size += 4
+ // field[2] m.Route.EntryFlags
+ size += 4
+ // field[2] m.Route.RpfID
+ size += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Af
+ size += 1
+ // field[3] m.Route.Prefix.GrpAddressLength
+ size += 2
+ // field[3] m.Route.Prefix.GrpAddress
+ size += 16
+ // field[3] m.Route.Prefix.SrcAddress
+ size += 16
+ // field[2] m.Route.NPaths
+ size += 1
+ // field[2] m.Route.Paths
+ for j2 := 0; j2 < len(m.Route.Paths); j2++ {
+ var s2 MfibPath
+ _ = s2
+ if j2 < len(m.Route.Paths) {
+ s2 = m.Route.Paths[j2]
+ }
+ // field[3] s2.ItfFlags
+ size += 4
+ // field[3] s2.Path
+ // field[4] s2.Path.SwIfIndex
+ size += 4
+ // field[4] s2.Path.TableID
+ size += 4
+ // field[4] s2.Path.RpfID
+ size += 4
+ // field[4] s2.Path.Weight
+ size += 1
+ // field[4] s2.Path.Preference
+ size += 1
+ // field[4] s2.Path.Type
+ size += 4
+ // field[4] s2.Path.Flags
+ size += 4
+ // field[4] s2.Path.Proto
+ size += 4
+ // field[4] s2.Path.Nh
+ // field[5] s2.Path.Nh.Address
+ size += 16
+ // field[5] s2.Path.Nh.ViaLabel
+ size += 4
+ // field[5] s2.Path.Nh.ObjID
+ size += 4
+ // field[5] s2.Path.Nh.ClassifyTableIndex
+ size += 4
+ // field[4] s2.Path.NLabels
+ size += 1
+ // field[4] s2.Path.LabelStack
+ for j4 := 0; j4 < 16; j4++ {
+ var s4 FibMplsLabel
+ _ = s4
+ if j4 < len(s2.Path.LabelStack) {
+ s4 = s2.Path.LabelStack[j4]
+ }
+ // field[5] s4.IsUniform
+ size += 1
+ // field[5] s4.Label
+ size += 4
+ // field[5] s4.TTL
+ size += 1
+ // field[5] s4.Exp
+ size += 1
+ }
+ }
+ return size
+}
+func (m *IPMrouteAddDel) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.IsAdd
+ if m.IsAdd {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.IsMultipath
+ if m.IsMultipath {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
+ pos += 4
+ // field[2] m.Route.EntryFlags
+ o.PutUint32(buf[pos:pos+4], uint32(m.Route.EntryFlags))
+ pos += 4
+ // field[2] m.Route.RpfID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Route.RpfID))
+ pos += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Af
+ buf[pos] = uint8(m.Route.Prefix.Af)
+ pos += 1
+ // field[3] m.Route.Prefix.GrpAddressLength
+ o.PutUint16(buf[pos:pos+2], uint16(m.Route.Prefix.GrpAddressLength))
+ pos += 2
+ // field[3] m.Route.Prefix.GrpAddress
+ copy(buf[pos:pos+16], m.Route.Prefix.GrpAddress.XXX_UnionData[:])
+ pos += 16
+ // field[3] m.Route.Prefix.SrcAddress
+ copy(buf[pos:pos+16], m.Route.Prefix.SrcAddress.XXX_UnionData[:])
+ pos += 16
+ // field[2] m.Route.NPaths
+ buf[pos] = uint8(len(m.Route.Paths))
+ pos += 1
+ // field[2] m.Route.Paths
+ for j2 := 0; j2 < len(m.Route.Paths); j2++ {
+ var v2 MfibPath
+ if j2 < len(m.Route.Paths) {
+ v2 = m.Route.Paths[j2]
+ }
+ // field[3] v2.ItfFlags
+ o.PutUint32(buf[pos:pos+4], uint32(v2.ItfFlags))
+ pos += 4
+ // field[3] v2.Path
+ // field[4] v2.Path.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.SwIfIndex))
+ pos += 4
+ // field[4] v2.Path.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.TableID))
+ pos += 4
+ // field[4] v2.Path.RpfID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.RpfID))
+ pos += 4
+ // field[4] v2.Path.Weight
+ buf[pos] = uint8(v2.Path.Weight)
+ pos += 1
+ // field[4] v2.Path.Preference
+ buf[pos] = uint8(v2.Path.Preference)
+ pos += 1
+ // field[4] v2.Path.Type
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Type))
+ pos += 4
+ // field[4] v2.Path.Flags
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Flags))
+ pos += 4
+ // field[4] v2.Path.Proto
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Proto))
+ pos += 4
+ // field[4] v2.Path.Nh
+ // field[5] v2.Path.Nh.Address
+ copy(buf[pos:pos+16], v2.Path.Nh.Address.XXX_UnionData[:])
+ pos += 16
+ // field[5] v2.Path.Nh.ViaLabel
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ViaLabel))
+ pos += 4
+ // field[5] v2.Path.Nh.ObjID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ObjID))
+ pos += 4
+ // field[5] v2.Path.Nh.ClassifyTableIndex
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ClassifyTableIndex))
+ pos += 4
+ // field[4] v2.Path.NLabels
+ buf[pos] = uint8(v2.Path.NLabels)
+ pos += 1
+ // field[4] v2.Path.LabelStack
+ for j4 := 0; j4 < 16; j4++ {
+ var v4 FibMplsLabel
+ if j4 < len(v2.Path.LabelStack) {
+ v4 = v2.Path.LabelStack[j4]
+ }
+ // field[5] v4.IsUniform
+ buf[pos] = uint8(v4.IsUniform)
+ pos += 1
+ // field[5] v4.Label
+ o.PutUint32(buf[pos:pos+4], uint32(v4.Label))
+ pos += 4
+ // field[5] v4.TTL
+ buf[pos] = uint8(v4.TTL)
+ pos += 1
+ // field[5] v4.Exp
+ buf[pos] = uint8(v4.Exp)
+ pos += 1
+ }
+ }
+ return buf, nil
+}
+func (m *IPMrouteAddDel) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.IsAdd
+ m.IsAdd = tmp[pos] != 0
+ pos += 1
+ // field[1] m.IsMultipath
+ m.IsMultipath = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Route.EntryFlags
+ m.Route.EntryFlags = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Route.RpfID
+ m.Route.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Af
+ m.Route.Prefix.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[3] m.Route.Prefix.GrpAddressLength
+ m.Route.Prefix.GrpAddressLength = uint16(o.Uint16(tmp[pos : pos+2]))
+ pos += 2
+ // field[3] m.Route.Prefix.GrpAddress
+ copy(m.Route.Prefix.GrpAddress.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[3] m.Route.Prefix.SrcAddress
+ copy(m.Route.Prefix.SrcAddress.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[2] m.Route.NPaths
+ m.Route.NPaths = uint8(tmp[pos])
+ pos += 1
+ // field[2] m.Route.Paths
+ m.Route.Paths = make([]MfibPath, int(m.Route.NPaths))
+ for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
+ // field[3] m.Route.Paths[j2].ItfFlags
+ m.Route.Paths[j2].ItfFlags = MfibItfFlags(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Path
+ // field[4] m.Route.Paths[j2].Path.SwIfIndex
+ m.Route.Paths[j2].Path.SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.TableID
+ m.Route.Paths[j2].Path.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.RpfID
+ m.Route.Paths[j2].Path.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.Weight
+ m.Route.Paths[j2].Path.Weight = uint8(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Paths[j2].Path.Preference
+ m.Route.Paths[j2].Path.Preference = uint8(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Paths[j2].Path.Type
+ m.Route.Paths[j2].Path.Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.Flags
+ m.Route.Paths[j2].Path.Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.Proto
+ m.Route.Paths[j2].Path.Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.Nh
+ // field[5] m.Route.Paths[j2].Path.Nh.Address
+ copy(m.Route.Paths[j2].Path.Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[5] m.Route.Paths[j2].Path.Nh.ViaLabel
+ m.Route.Paths[j2].Path.Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[5] m.Route.Paths[j2].Path.Nh.ObjID
+ m.Route.Paths[j2].Path.Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[5] m.Route.Paths[j2].Path.Nh.ClassifyTableIndex
+ m.Route.Paths[j2].Path.Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.NLabels
+ m.Route.Paths[j2].Path.NLabels = uint8(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Paths[j2].Path.LabelStack
+ for j4 := 0; j4 < 16; j4++ {
+ // field[5] m.Route.Paths[j2].Path.LabelStack[j4].IsUniform
+ m.Route.Paths[j2].Path.LabelStack[j4].IsUniform = uint8(tmp[pos])
+ pos += 1
+ // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Label
+ m.Route.Paths[j2].Path.LabelStack[j4].Label = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[5] m.Route.Paths[j2].Path.LabelStack[j4].TTL
+ m.Route.Paths[j2].Path.LabelStack[j4].TTL = uint8(tmp[pos])
+ pos += 1
+ // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Exp
+ m.Route.Paths[j2].Path.LabelStack[j4].Exp = uint8(tmp[pos])
+ pos += 1
+ }
+ }
+ return nil
}
-// IP6NdEvent represents VPP binary API message 'ip6_nd_event':
-type IP6NdEvent struct {
- PID uint32
- SwIfIndex uint32
- IP IP6Address
- Mac MacAddress
- MacIP uint8
+// IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply'.
+type IPMrouteAddDelReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+ StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
}
-func (*IP6NdEvent) GetMessageName() string {
- return "ip6_nd_event"
-}
-func (*IP6NdEvent) GetCrcString() string {
- return "3a23e7d4"
-}
-func (*IP6NdEvent) GetMessageType() api.MessageType {
- return api.EventMessage
-}
+func (m *IPMrouteAddDelReply) Reset() { *m = IPMrouteAddDelReply{} }
+func (*IPMrouteAddDelReply) GetMessageName() string { return "ip_mroute_add_del_reply" }
+func (*IPMrouteAddDelReply) GetCrcString() string { return "1992deab" }
+func (*IPMrouteAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-// IP6RaEvent represents VPP binary API message 'ip6_ra_event':
-type IP6RaEvent struct {
- PID uint32
- SwIfIndex uint32
- RouterAddr IP6Address
- CurrentHopLimit uint8
- Flags uint8
- RouterLifetimeInSec uint16
- NeighborReachableTimeInMsec uint32
- TimeInMsecBetweenRetransmittedNeighborSolicitations uint32
- NPrefixes uint32 `struc:"sizeof=Prefixes"`
- Prefixes []IP6RaPrefixInfo
+func (m *IPMrouteAddDelReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ // field[1] m.StatsIndex
+ size += 4
+ return size
+}
+func (m *IPMrouteAddDelReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ // field[1] m.StatsIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.StatsIndex))
+ pos += 4
+ return buf, nil
+}
+func (m *IPMrouteAddDelReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.StatsIndex
+ m.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPMrouteDetails represents VPP binary API message 'ip_mroute_details'.
+type IPMrouteDetails struct {
+ Route IPMroute `binapi:"ip_mroute,name=route" json:"route,omitempty"`
+}
+
+func (m *IPMrouteDetails) Reset() { *m = IPMrouteDetails{} }
+func (*IPMrouteDetails) GetMessageName() string { return "ip_mroute_details" }
+func (*IPMrouteDetails) GetCrcString() string { return "c1cb4b44" }
+func (*IPMrouteDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
+
+func (m *IPMrouteDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ size += 4
+ // field[2] m.Route.EntryFlags
+ size += 4
+ // field[2] m.Route.RpfID
+ size += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Af
+ size += 1
+ // field[3] m.Route.Prefix.GrpAddressLength
+ size += 2
+ // field[3] m.Route.Prefix.GrpAddress
+ size += 16
+ // field[3] m.Route.Prefix.SrcAddress
+ size += 16
+ // field[2] m.Route.NPaths
+ size += 1
+ // field[2] m.Route.Paths
+ for j2 := 0; j2 < len(m.Route.Paths); j2++ {
+ var s2 MfibPath
+ _ = s2
+ if j2 < len(m.Route.Paths) {
+ s2 = m.Route.Paths[j2]
+ }
+ // field[3] s2.ItfFlags
+ size += 4
+ // field[3] s2.Path
+ // field[4] s2.Path.SwIfIndex
+ size += 4
+ // field[4] s2.Path.TableID
+ size += 4
+ // field[4] s2.Path.RpfID
+ size += 4
+ // field[4] s2.Path.Weight
+ size += 1
+ // field[4] s2.Path.Preference
+ size += 1
+ // field[4] s2.Path.Type
+ size += 4
+ // field[4] s2.Path.Flags
+ size += 4
+ // field[4] s2.Path.Proto
+ size += 4
+ // field[4] s2.Path.Nh
+ // field[5] s2.Path.Nh.Address
+ size += 16
+ // field[5] s2.Path.Nh.ViaLabel
+ size += 4
+ // field[5] s2.Path.Nh.ObjID
+ size += 4
+ // field[5] s2.Path.Nh.ClassifyTableIndex
+ size += 4
+ // field[4] s2.Path.NLabels
+ size += 1
+ // field[4] s2.Path.LabelStack
+ for j4 := 0; j4 < 16; j4++ {
+ var s4 FibMplsLabel
+ _ = s4
+ if j4 < len(s2.Path.LabelStack) {
+ s4 = s2.Path.LabelStack[j4]
+ }
+ // field[5] s4.IsUniform
+ size += 1
+ // field[5] s4.Label
+ size += 4
+ // field[5] s4.TTL
+ size += 1
+ // field[5] s4.Exp
+ size += 1
+ }
+ }
+ return size
+}
+func (m *IPMrouteDetails) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
+ pos += 4
+ // field[2] m.Route.EntryFlags
+ o.PutUint32(buf[pos:pos+4], uint32(m.Route.EntryFlags))
+ pos += 4
+ // field[2] m.Route.RpfID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Route.RpfID))
+ pos += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Af
+ buf[pos] = uint8(m.Route.Prefix.Af)
+ pos += 1
+ // field[3] m.Route.Prefix.GrpAddressLength
+ o.PutUint16(buf[pos:pos+2], uint16(m.Route.Prefix.GrpAddressLength))
+ pos += 2
+ // field[3] m.Route.Prefix.GrpAddress
+ copy(buf[pos:pos+16], m.Route.Prefix.GrpAddress.XXX_UnionData[:])
+ pos += 16
+ // field[3] m.Route.Prefix.SrcAddress
+ copy(buf[pos:pos+16], m.Route.Prefix.SrcAddress.XXX_UnionData[:])
+ pos += 16
+ // field[2] m.Route.NPaths
+ buf[pos] = uint8(len(m.Route.Paths))
+ pos += 1
+ // field[2] m.Route.Paths
+ for j2 := 0; j2 < len(m.Route.Paths); j2++ {
+ var v2 MfibPath
+ if j2 < len(m.Route.Paths) {
+ v2 = m.Route.Paths[j2]
+ }
+ // field[3] v2.ItfFlags
+ o.PutUint32(buf[pos:pos+4], uint32(v2.ItfFlags))
+ pos += 4
+ // field[3] v2.Path
+ // field[4] v2.Path.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.SwIfIndex))
+ pos += 4
+ // field[4] v2.Path.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.TableID))
+ pos += 4
+ // field[4] v2.Path.RpfID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.RpfID))
+ pos += 4
+ // field[4] v2.Path.Weight
+ buf[pos] = uint8(v2.Path.Weight)
+ pos += 1
+ // field[4] v2.Path.Preference
+ buf[pos] = uint8(v2.Path.Preference)
+ pos += 1
+ // field[4] v2.Path.Type
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Type))
+ pos += 4
+ // field[4] v2.Path.Flags
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Flags))
+ pos += 4
+ // field[4] v2.Path.Proto
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Proto))
+ pos += 4
+ // field[4] v2.Path.Nh
+ // field[5] v2.Path.Nh.Address
+ copy(buf[pos:pos+16], v2.Path.Nh.Address.XXX_UnionData[:])
+ pos += 16
+ // field[5] v2.Path.Nh.ViaLabel
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ViaLabel))
+ pos += 4
+ // field[5] v2.Path.Nh.ObjID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ObjID))
+ pos += 4
+ // field[5] v2.Path.Nh.ClassifyTableIndex
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Path.Nh.ClassifyTableIndex))
+ pos += 4
+ // field[4] v2.Path.NLabels
+ buf[pos] = uint8(v2.Path.NLabels)
+ pos += 1
+ // field[4] v2.Path.LabelStack
+ for j4 := 0; j4 < 16; j4++ {
+ var v4 FibMplsLabel
+ if j4 < len(v2.Path.LabelStack) {
+ v4 = v2.Path.LabelStack[j4]
+ }
+ // field[5] v4.IsUniform
+ buf[pos] = uint8(v4.IsUniform)
+ pos += 1
+ // field[5] v4.Label
+ o.PutUint32(buf[pos:pos+4], uint32(v4.Label))
+ pos += 4
+ // field[5] v4.TTL
+ buf[pos] = uint8(v4.TTL)
+ pos += 1
+ // field[5] v4.Exp
+ buf[pos] = uint8(v4.Exp)
+ pos += 1
+ }
+ }
+ return buf, nil
+}
+func (m *IPMrouteDetails) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Route.EntryFlags
+ m.Route.EntryFlags = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Route.RpfID
+ m.Route.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Af
+ m.Route.Prefix.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[3] m.Route.Prefix.GrpAddressLength
+ m.Route.Prefix.GrpAddressLength = uint16(o.Uint16(tmp[pos : pos+2]))
+ pos += 2
+ // field[3] m.Route.Prefix.GrpAddress
+ copy(m.Route.Prefix.GrpAddress.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[3] m.Route.Prefix.SrcAddress
+ copy(m.Route.Prefix.SrcAddress.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[2] m.Route.NPaths
+ m.Route.NPaths = uint8(tmp[pos])
+ pos += 1
+ // field[2] m.Route.Paths
+ m.Route.Paths = make([]MfibPath, int(m.Route.NPaths))
+ for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
+ // field[3] m.Route.Paths[j2].ItfFlags
+ m.Route.Paths[j2].ItfFlags = MfibItfFlags(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Path
+ // field[4] m.Route.Paths[j2].Path.SwIfIndex
+ m.Route.Paths[j2].Path.SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.TableID
+ m.Route.Paths[j2].Path.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.RpfID
+ m.Route.Paths[j2].Path.RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.Weight
+ m.Route.Paths[j2].Path.Weight = uint8(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Paths[j2].Path.Preference
+ m.Route.Paths[j2].Path.Preference = uint8(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Paths[j2].Path.Type
+ m.Route.Paths[j2].Path.Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.Flags
+ m.Route.Paths[j2].Path.Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.Proto
+ m.Route.Paths[j2].Path.Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.Nh
+ // field[5] m.Route.Paths[j2].Path.Nh.Address
+ copy(m.Route.Paths[j2].Path.Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[5] m.Route.Paths[j2].Path.Nh.ViaLabel
+ m.Route.Paths[j2].Path.Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[5] m.Route.Paths[j2].Path.Nh.ObjID
+ m.Route.Paths[j2].Path.Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[5] m.Route.Paths[j2].Path.Nh.ClassifyTableIndex
+ m.Route.Paths[j2].Path.Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Path.NLabels
+ m.Route.Paths[j2].Path.NLabels = uint8(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Paths[j2].Path.LabelStack
+ for j4 := 0; j4 < 16; j4++ {
+ // field[5] m.Route.Paths[j2].Path.LabelStack[j4].IsUniform
+ m.Route.Paths[j2].Path.LabelStack[j4].IsUniform = uint8(tmp[pos])
+ pos += 1
+ // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Label
+ m.Route.Paths[j2].Path.LabelStack[j4].Label = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[5] m.Route.Paths[j2].Path.LabelStack[j4].TTL
+ m.Route.Paths[j2].Path.LabelStack[j4].TTL = uint8(tmp[pos])
+ pos += 1
+ // field[5] m.Route.Paths[j2].Path.LabelStack[j4].Exp
+ m.Route.Paths[j2].Path.LabelStack[j4].Exp = uint8(tmp[pos])
+ pos += 1
+ }
+ }
+ return nil
}
-func (*IP6RaEvent) GetMessageName() string {
- return "ip6_ra_event"
-}
-func (*IP6RaEvent) GetCrcString() string {
- return "2e718fcc"
-}
-func (*IP6RaEvent) GetMessageType() api.MessageType {
- return api.EventMessage
+// IPMrouteDump represents VPP binary API message 'ip_mroute_dump'.
+type IPMrouteDump struct {
+ Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
}
-// IP6ndProxyAddDel represents VPP binary API message 'ip6nd_proxy_add_del':
-type IP6ndProxyAddDel struct {
- SwIfIndex uint32
- IsDel uint8
- IP IP6Address
-}
+func (m *IPMrouteDump) Reset() { *m = IPMrouteDump{} }
+func (*IPMrouteDump) GetMessageName() string { return "ip_mroute_dump" }
+func (*IPMrouteDump) GetCrcString() string { return "b9d2e09e" }
+func (*IPMrouteDump) GetMessageType() api.MessageType { return api.RequestMessage }
-func (*IP6ndProxyAddDel) GetMessageName() string {
- return "ip6nd_proxy_add_del"
-}
-func (*IP6ndProxyAddDel) GetCrcString() string {
- return "bff10d55"
-}
-func (*IP6ndProxyAddDel) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (m *IPMrouteDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ size += 4
+ // field[2] m.Table.IsIP6
+ size += 1
+ // field[2] m.Table.Name
+ size += 64
+ return size
+}
+func (m *IPMrouteDump) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ if m.Table.IsIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[2] m.Table.Name
+ copy(buf[pos:pos+64], m.Table.Name)
+ pos += 64
+ return buf, nil
+}
+func (m *IPMrouteDump) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ m.Table.IsIP6 = tmp[pos] != 0
+ pos += 1
+ // field[2] m.Table.Name
+ {
+ nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
+ m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
+ pos += 64
+ }
+ return nil
}
-// IP6ndProxyAddDelReply represents VPP binary API message 'ip6nd_proxy_add_del_reply':
-type IP6ndProxyAddDelReply struct {
- Retval int32
+// IPMtableDetails represents VPP binary API message 'ip_mtable_details'.
+type IPMtableDetails struct {
+ Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
}
-func (*IP6ndProxyAddDelReply) GetMessageName() string {
- return "ip6nd_proxy_add_del_reply"
-}
-func (*IP6ndProxyAddDelReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*IP6ndProxyAddDelReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
+func (m *IPMtableDetails) Reset() { *m = IPMtableDetails{} }
+func (*IPMtableDetails) GetMessageName() string { return "ip_mtable_details" }
+func (*IPMtableDetails) GetCrcString() string { return "b9d2e09e" }
+func (*IPMtableDetails) GetMessageType() api.MessageType { return api.RequestMessage }
-// IP6ndProxyDetails represents VPP binary API message 'ip6nd_proxy_details':
-type IP6ndProxyDetails struct {
- SwIfIndex uint32
- IP IP6Address
+func (m *IPMtableDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ size += 4
+ // field[2] m.Table.IsIP6
+ size += 1
+ // field[2] m.Table.Name
+ size += 64
+ return size
+}
+func (m *IPMtableDetails) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ if m.Table.IsIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[2] m.Table.Name
+ copy(buf[pos:pos+64], m.Table.Name)
+ pos += 64
+ return buf, nil
+}
+func (m *IPMtableDetails) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ m.Table.IsIP6 = tmp[pos] != 0
+ pos += 1
+ // field[2] m.Table.Name
+ {
+ nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
+ m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
+ pos += 64
+ }
+ return nil
}
-func (*IP6ndProxyDetails) GetMessageName() string {
- return "ip6nd_proxy_details"
-}
-func (*IP6ndProxyDetails) GetCrcString() string {
- return "bbbd7894"
-}
-func (*IP6ndProxyDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
+// IPMtableDump represents VPP binary API message 'ip_mtable_dump'.
+type IPMtableDump struct{}
-// IP6ndProxyDump represents VPP binary API message 'ip6nd_proxy_dump':
-type IP6ndProxyDump struct{}
+func (m *IPMtableDump) Reset() { *m = IPMtableDump{} }
+func (*IPMtableDump) GetMessageName() string { return "ip_mtable_dump" }
+func (*IPMtableDump) GetCrcString() string { return "51077d14" }
+func (*IPMtableDump) GetMessageType() api.MessageType { return api.RequestMessage }
-func (*IP6ndProxyDump) GetMessageName() string {
- return "ip6nd_proxy_dump"
-}
-func (*IP6ndProxyDump) GetCrcString() string {
- return "51077d14"
+func (m *IPMtableDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ return size
+}
+func (m *IPMtableDump) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ return buf, nil
}
-func (*IP6ndProxyDump) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (m *IPMtableDump) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ return nil
}
-// IP6ndSendRouterSolicitation represents VPP binary API message 'ip6nd_send_router_solicitation':
-type IP6ndSendRouterSolicitation struct {
- Irt uint32
- Mrt uint32
- Mrc uint32
- Mrd uint32
- SwIfIndex uint32
- Stop uint8
+// IPPuntPolice represents VPP binary API message 'ip_punt_police'.
+type IPPuntPolice struct {
+ PolicerIndex uint32 `binapi:"u32,name=policer_index" json:"policer_index,omitempty"`
+ IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
+ IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
}
-func (*IP6ndSendRouterSolicitation) GetMessageName() string {
- return "ip6nd_send_router_solicitation"
-}
-func (*IP6ndSendRouterSolicitation) GetCrcString() string {
- return "bd968917"
-}
-func (*IP6ndSendRouterSolicitation) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
+func (m *IPPuntPolice) Reset() { *m = IPPuntPolice{} }
+func (*IPPuntPolice) GetMessageName() string { return "ip_punt_police" }
+func (*IPPuntPolice) GetCrcString() string { return "db867cea" }
+func (*IPPuntPolice) GetMessageType() api.MessageType { return api.RequestMessage }
-// IP6ndSendRouterSolicitationReply represents VPP binary API message 'ip6nd_send_router_solicitation_reply':
-type IP6ndSendRouterSolicitationReply struct {
- Retval int32
+func (m *IPPuntPolice) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.PolicerIndex
+ size += 4
+ // field[1] m.IsAdd
+ size += 1
+ // field[1] m.IsIP6
+ size += 1
+ return size
+}
+func (m *IPPuntPolice) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.PolicerIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.PolicerIndex))
+ pos += 4
+ // field[1] m.IsAdd
+ if m.IsAdd {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.IsIP6
+ if m.IsIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ return buf, nil
+}
+func (m *IPPuntPolice) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.PolicerIndex
+ m.PolicerIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.IsAdd
+ m.IsAdd = tmp[pos] != 0
+ pos += 1
+ // field[1] m.IsIP6
+ m.IsIP6 = tmp[pos] != 0
+ pos += 1
+ return nil
+}
+
+// IPPuntPoliceReply represents VPP binary API message 'ip_punt_police_reply'.
+type IPPuntPoliceReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-func (*IP6ndSendRouterSolicitationReply) GetMessageName() string {
- return "ip6nd_send_router_solicitation_reply"
-}
-func (*IP6ndSendRouterSolicitationReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*IP6ndSendRouterSolicitationReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
+func (m *IPPuntPoliceReply) Reset() { *m = IPPuntPoliceReply{} }
+func (*IPPuntPoliceReply) GetMessageName() string { return "ip_punt_police_reply" }
+func (*IPPuntPoliceReply) GetCrcString() string { return "e8d4e804" }
+func (*IPPuntPoliceReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-// IPAddDelRoute represents VPP binary API message 'ip_add_del_route':
-type IPAddDelRoute struct {
- NextHopSwIfIndex uint32
- TableID uint32
- ClassifyTableIndex uint32
- NextHopTableID uint32
- NextHopID uint32
- IsAdd uint8
- IsDrop uint8
- IsUnreach uint8
- IsProhibit uint8
- IsIPv6 uint8
- IsLocal uint8
- IsClassify uint8
- IsMultipath uint8
- IsResolveHost uint8
- IsResolveAttached uint8
- IsDvr uint8
- IsSourceLookup uint8
- IsUDPEncap uint8
- NextHopWeight uint8
- NextHopPreference uint8
- NextHopProto uint8
- DstAddressLength uint8
- DstAddress []byte `struc:"[16]byte"`
- NextHopAddress []byte `struc:"[16]byte"`
- NextHopNOutLabels uint8 `struc:"sizeof=NextHopOutLabelStack"`
- NextHopViaLabel uint32
- NextHopOutLabelStack []FibMplsLabel
-}
-
-func (*IPAddDelRoute) GetMessageName() string {
- return "ip_add_del_route"
-}
-func (*IPAddDelRoute) GetCrcString() string {
- return "4219d62d"
-}
-func (*IPAddDelRoute) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (m *IPPuntPoliceReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IPPuntPoliceReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IPPuntPoliceReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPPuntRedirect represents VPP binary API message 'ip_punt_redirect'.
+type IPPuntRedirect struct {
+ Punt PuntRedirect `binapi:"punt_redirect,name=punt" json:"punt,omitempty"`
+ IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
}
-// IPAddDelRouteReply represents VPP binary API message 'ip_add_del_route_reply':
-type IPAddDelRouteReply struct {
- Retval int32
- StatsIndex uint32
-}
+func (m *IPPuntRedirect) Reset() { *m = IPPuntRedirect{} }
+func (*IPPuntRedirect) GetMessageName() string { return "ip_punt_redirect" }
+func (*IPPuntRedirect) GetCrcString() string { return "a9a5592c" }
+func (*IPPuntRedirect) GetMessageType() api.MessageType { return api.RequestMessage }
-func (*IPAddDelRouteReply) GetMessageName() string {
- return "ip_add_del_route_reply"
-}
-func (*IPAddDelRouteReply) GetCrcString() string {
- return "1992deab"
-}
-func (*IPAddDelRouteReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
+func (m *IPPuntRedirect) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Punt
+ // field[2] m.Punt.RxSwIfIndex
+ size += 4
+ // field[2] m.Punt.TxSwIfIndex
+ size += 4
+ // field[2] m.Punt.Nh
+ // field[3] m.Punt.Nh.Af
+ size += 1
+ // field[3] m.Punt.Nh.Un
+ size += 16
+ // field[1] m.IsAdd
+ size += 1
+ return size
+}
+func (m *IPPuntRedirect) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Punt
+ // field[2] m.Punt.RxSwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.Punt.RxSwIfIndex))
+ pos += 4
+ // field[2] m.Punt.TxSwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.Punt.TxSwIfIndex))
+ pos += 4
+ // field[2] m.Punt.Nh
+ // field[3] m.Punt.Nh.Af
+ buf[pos] = uint8(m.Punt.Nh.Af)
+ pos += 1
+ // field[3] m.Punt.Nh.Un
+ copy(buf[pos:pos+16], m.Punt.Nh.Un.XXX_UnionData[:])
+ pos += 16
+ // field[1] m.IsAdd
+ if m.IsAdd {
+ buf[pos] = 1
+ }
+ pos += 1
+ return buf, nil
+}
+func (m *IPPuntRedirect) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Punt
+ // field[2] m.Punt.RxSwIfIndex
+ m.Punt.RxSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Punt.TxSwIfIndex
+ m.Punt.TxSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Punt.Nh
+ // field[3] m.Punt.Nh.Af
+ m.Punt.Nh.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[3] m.Punt.Nh.Un
+ copy(m.Punt.Nh.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[1] m.IsAdd
+ m.IsAdd = tmp[pos] != 0
+ pos += 1
+ return nil
+}
+
+// IPPuntRedirectDetails represents VPP binary API message 'ip_punt_redirect_details'.
+type IPPuntRedirectDetails struct {
+ Punt PuntRedirect `binapi:"punt_redirect,name=punt" json:"punt,omitempty"`
}
-// IPAddressDetails represents VPP binary API message 'ip_address_details':
-type IPAddressDetails struct {
- IP []byte `struc:"[16]byte"`
- PrefixLength uint8
- SwIfIndex uint32
- IsIPv6 uint8
-}
+func (m *IPPuntRedirectDetails) Reset() { *m = IPPuntRedirectDetails{} }
+func (*IPPuntRedirectDetails) GetMessageName() string { return "ip_punt_redirect_details" }
+func (*IPPuntRedirectDetails) GetCrcString() string { return "3924f5d3" }
+func (*IPPuntRedirectDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
-func (*IPAddressDetails) GetMessageName() string {
- return "ip_address_details"
-}
-func (*IPAddressDetails) GetCrcString() string {
- return "9bc25966"
-}
-func (*IPAddressDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
+func (m *IPPuntRedirectDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Punt
+ // field[2] m.Punt.RxSwIfIndex
+ size += 4
+ // field[2] m.Punt.TxSwIfIndex
+ size += 4
+ // field[2] m.Punt.Nh
+ // field[3] m.Punt.Nh.Af
+ size += 1
+ // field[3] m.Punt.Nh.Un
+ size += 16
+ return size
+}
+func (m *IPPuntRedirectDetails) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Punt
+ // field[2] m.Punt.RxSwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.Punt.RxSwIfIndex))
+ pos += 4
+ // field[2] m.Punt.TxSwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.Punt.TxSwIfIndex))
+ pos += 4
+ // field[2] m.Punt.Nh
+ // field[3] m.Punt.Nh.Af
+ buf[pos] = uint8(m.Punt.Nh.Af)
+ pos += 1
+ // field[3] m.Punt.Nh.Un
+ copy(buf[pos:pos+16], m.Punt.Nh.Un.XXX_UnionData[:])
+ pos += 16
+ return buf, nil
+}
+func (m *IPPuntRedirectDetails) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Punt
+ // field[2] m.Punt.RxSwIfIndex
+ m.Punt.RxSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Punt.TxSwIfIndex
+ m.Punt.TxSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Punt.Nh
+ // field[3] m.Punt.Nh.Af
+ m.Punt.Nh.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[3] m.Punt.Nh.Un
+ copy(m.Punt.Nh.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ return nil
+}
+
+// IPPuntRedirectDump represents VPP binary API message 'ip_punt_redirect_dump'.
+type IPPuntRedirectDump struct {
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
}
-// IPAddressDump represents VPP binary API message 'ip_address_dump':
-type IPAddressDump struct {
- SwIfIndex uint32
- IsIPv6 uint8
-}
+func (m *IPPuntRedirectDump) Reset() { *m = IPPuntRedirectDump{} }
+func (*IPPuntRedirectDump) GetMessageName() string { return "ip_punt_redirect_dump" }
+func (*IPPuntRedirectDump) GetCrcString() string { return "2d033de4" }
+func (*IPPuntRedirectDump) GetMessageType() api.MessageType { return api.RequestMessage }
-func (*IPAddressDump) GetMessageName() string {
- return "ip_address_dump"
-}
-func (*IPAddressDump) GetCrcString() string {
- return "6b7bcd0a"
-}
-func (*IPAddressDump) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (m *IPPuntRedirectDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.SwIfIndex
+ size += 4
+ // field[1] m.IsIPv6
+ size += 1
+ return size
+}
+func (m *IPPuntRedirectDump) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ // field[1] m.IsIPv6
+ if m.IsIPv6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ return buf, nil
+}
+func (m *IPPuntRedirectDump) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.IsIPv6
+ m.IsIPv6 = tmp[pos] != 0
+ pos += 1
+ return nil
+}
+
+// IPPuntRedirectReply represents VPP binary API message 'ip_punt_redirect_reply'.
+type IPPuntRedirectReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-// IPContainerProxyAddDel represents VPP binary API message 'ip_container_proxy_add_del':
-type IPContainerProxyAddDel struct {
- Pfx Prefix
- SwIfIndex uint32
- IsAdd uint8
-}
+func (m *IPPuntRedirectReply) Reset() { *m = IPPuntRedirectReply{} }
+func (*IPPuntRedirectReply) GetMessageName() string { return "ip_punt_redirect_reply" }
+func (*IPPuntRedirectReply) GetCrcString() string { return "e8d4e804" }
+func (*IPPuntRedirectReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-func (*IPContainerProxyAddDel) GetMessageName() string {
- return "ip_container_proxy_add_del"
-}
-func (*IPContainerProxyAddDel) GetCrcString() string {
- return "5938e73a"
-}
-func (*IPContainerProxyAddDel) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (m *IPPuntRedirectReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IPPuntRedirectReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IPPuntRedirectReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPReassemblyEnableDisable represents VPP binary API message 'ip_reassembly_enable_disable'.
+type IPReassemblyEnableDisable struct {
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ EnableIP4 bool `binapi:"bool,name=enable_ip4" json:"enable_ip4,omitempty"`
+ EnableIP6 bool `binapi:"bool,name=enable_ip6" json:"enable_ip6,omitempty"`
+ Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"`
}
-// IPContainerProxyAddDelReply represents VPP binary API message 'ip_container_proxy_add_del_reply':
-type IPContainerProxyAddDelReply struct {
- Retval int32
-}
-
-func (*IPContainerProxyAddDelReply) GetMessageName() string {
- return "ip_container_proxy_add_del_reply"
-}
-func (*IPContainerProxyAddDelReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*IPContainerProxyAddDelReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPContainerProxyDetails represents VPP binary API message 'ip_container_proxy_details':
-type IPContainerProxyDetails struct {
- SwIfIndex uint32
- Prefix Prefix
-}
-
-func (*IPContainerProxyDetails) GetMessageName() string {
- return "ip_container_proxy_details"
-}
-func (*IPContainerProxyDetails) GetCrcString() string {
- return "d528df63"
-}
-func (*IPContainerProxyDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPContainerProxyDump represents VPP binary API message 'ip_container_proxy_dump':
-type IPContainerProxyDump struct{}
-
-func (*IPContainerProxyDump) GetMessageName() string {
- return "ip_container_proxy_dump"
-}
-func (*IPContainerProxyDump) GetCrcString() string {
- return "51077d14"
-}
-func (*IPContainerProxyDump) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPDetails represents VPP binary API message 'ip_details':
-type IPDetails struct {
- SwIfIndex uint32
- IsIPv6 uint8
-}
-
-func (*IPDetails) GetMessageName() string {
- return "ip_details"
-}
-func (*IPDetails) GetCrcString() string {
- return "8bb37ec4"
-}
-func (*IPDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPDump represents VPP binary API message 'ip_dump':
-type IPDump struct {
- IsIPv6 uint8
-}
-
-func (*IPDump) GetMessageName() string {
- return "ip_dump"
-}
-func (*IPDump) GetCrcString() string {
- return "de883da4"
-}
-func (*IPDump) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPFibDetails represents VPP binary API message 'ip_fib_details':
-type IPFibDetails struct {
- TableID uint32
- TableName []byte `struc:"[64]byte"`
- AddressLength uint8
- Address []byte `struc:"[4]byte"`
- Count uint32 `struc:"sizeof=Path"`
- StatsIndex uint32
- Path []FibPath
-}
-
-func (*IPFibDetails) GetMessageName() string {
- return "ip_fib_details"
-}
-func (*IPFibDetails) GetCrcString() string {
- return "f6a2fab3"
-}
-func (*IPFibDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPFibDump represents VPP binary API message 'ip_fib_dump':
-type IPFibDump struct{}
-
-func (*IPFibDump) GetMessageName() string {
- return "ip_fib_dump"
-}
-func (*IPFibDump) GetCrcString() string {
- return "51077d14"
-}
-func (*IPFibDump) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPMfibDetails represents VPP binary API message 'ip_mfib_details':
-type IPMfibDetails struct {
- TableID uint32
- EntryFlags uint32
- RpfID uint32
- AddressLength uint8
- GrpAddress []byte `struc:"[4]byte"`
- SrcAddress []byte `struc:"[4]byte"`
- Count uint32 `struc:"sizeof=Path"`
- StatsIndex uint32
- Path []MfibPath
-}
-
-func (*IPMfibDetails) GetMessageName() string {
- return "ip_mfib_details"
-}
-func (*IPMfibDetails) GetCrcString() string {
- return "61faa26f"
-}
-func (*IPMfibDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPMfibDump represents VPP binary API message 'ip_mfib_dump':
-type IPMfibDump struct{}
-
-func (*IPMfibDump) GetMessageName() string {
- return "ip_mfib_dump"
-}
-func (*IPMfibDump) GetCrcString() string {
- return "51077d14"
-}
-func (*IPMfibDump) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPMrouteAddDel represents VPP binary API message 'ip_mroute_add_del':
-type IPMrouteAddDel struct {
- NextHopSwIfIndex uint32
- TableID uint32
- EntryFlags uint32
- ItfFlags uint32
- RpfID uint32
- BierImp uint32
- GrpAddressLength uint16
- NextHopAfi uint8
- IsAdd uint8
- IsIPv6 uint8
- IsLocal uint8
- GrpAddress []byte `struc:"[16]byte"`
- SrcAddress []byte `struc:"[16]byte"`
- NhAddress []byte `struc:"[16]byte"`
-}
-
-func (*IPMrouteAddDel) GetMessageName() string {
- return "ip_mroute_add_del"
-}
-func (*IPMrouteAddDel) GetCrcString() string {
- return "f44c17b1"
-}
-func (*IPMrouteAddDel) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPMrouteAddDelReply represents VPP binary API message 'ip_mroute_add_del_reply':
-type IPMrouteAddDelReply struct {
- Retval int32
- StatsIndex uint32
-}
-
-func (*IPMrouteAddDelReply) GetMessageName() string {
- return "ip_mroute_add_del_reply"
-}
-func (*IPMrouteAddDelReply) GetCrcString() string {
- return "1992deab"
-}
-func (*IPMrouteAddDelReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPNeighborAddDel represents VPP binary API message 'ip_neighbor_add_del':
-type IPNeighborAddDel struct {
- IsAdd uint8
- Neighbor IPNeighbor
-}
-
-func (*IPNeighborAddDel) GetMessageName() string {
- return "ip_neighbor_add_del"
-}
-func (*IPNeighborAddDel) GetCrcString() string {
- return "adea3ef4"
-}
-func (*IPNeighborAddDel) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPNeighborAddDelReply represents VPP binary API message 'ip_neighbor_add_del_reply':
-type IPNeighborAddDelReply struct {
- Retval int32
- StatsIndex uint32
-}
-
-func (*IPNeighborAddDelReply) GetMessageName() string {
- return "ip_neighbor_add_del_reply"
-}
-func (*IPNeighborAddDelReply) GetCrcString() string {
- return "1992deab"
-}
-func (*IPNeighborAddDelReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPNeighborDetails represents VPP binary API message 'ip_neighbor_details':
-type IPNeighborDetails struct {
- Neighbor IPNeighbor
-}
-
-func (*IPNeighborDetails) GetMessageName() string {
- return "ip_neighbor_details"
-}
-func (*IPNeighborDetails) GetCrcString() string {
- return "512fb08d"
-}
-func (*IPNeighborDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPNeighborDump represents VPP binary API message 'ip_neighbor_dump':
-type IPNeighborDump struct {
- SwIfIndex uint32
- IsIPv6 uint8
-}
-
-func (*IPNeighborDump) GetMessageName() string {
- return "ip_neighbor_dump"
-}
-func (*IPNeighborDump) GetCrcString() string {
- return "6b7bcd0a"
-}
-func (*IPNeighborDump) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPProbeNeighbor represents VPP binary API message 'ip_probe_neighbor':
-type IPProbeNeighbor struct {
- SwIfIndex uint32
- Dst Address
-}
-
-func (*IPProbeNeighbor) GetMessageName() string {
- return "ip_probe_neighbor"
-}
-func (*IPProbeNeighbor) GetCrcString() string {
- return "1e6c0a77"
-}
-func (*IPProbeNeighbor) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
+func (m *IPReassemblyEnableDisable) Reset() { *m = IPReassemblyEnableDisable{} }
+func (*IPReassemblyEnableDisable) GetMessageName() string { return "ip_reassembly_enable_disable" }
+func (*IPReassemblyEnableDisable) GetCrcString() string { return "885c85a6" }
+func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType { return api.RequestMessage }
-// IPProbeNeighborReply represents VPP binary API message 'ip_probe_neighbor_reply':
-type IPProbeNeighborReply struct {
- Retval int32
-}
-
-func (*IPProbeNeighborReply) GetMessageName() string {
- return "ip_probe_neighbor_reply"
-}
-func (*IPProbeNeighborReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*IPProbeNeighborReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPPuntPolice represents VPP binary API message 'ip_punt_police':
-type IPPuntPolice struct {
- PolicerIndex uint32
- IsAdd uint8
- IsIP6 uint8
-}
-
-func (*IPPuntPolice) GetMessageName() string {
- return "ip_punt_police"
-}
-func (*IPPuntPolice) GetCrcString() string {
- return "38691592"
-}
-func (*IPPuntPolice) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPPuntPoliceReply represents VPP binary API message 'ip_punt_police_reply':
-type IPPuntPoliceReply struct {
- Retval int32
-}
-
-func (*IPPuntPoliceReply) GetMessageName() string {
- return "ip_punt_police_reply"
-}
-func (*IPPuntPoliceReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*IPPuntPoliceReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPPuntRedirect represents VPP binary API message 'ip_punt_redirect':
-type IPPuntRedirect struct {
- Punt PuntRedirect
- IsAdd uint8
-}
-
-func (*IPPuntRedirect) GetMessageName() string {
- return "ip_punt_redirect"
-}
-func (*IPPuntRedirect) GetCrcString() string {
- return "a953495b"
-}
-func (*IPPuntRedirect) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPPuntRedirectDetails represents VPP binary API message 'ip_punt_redirect_details':
-type IPPuntRedirectDetails struct {
- Punt PuntRedirect
-}
-
-func (*IPPuntRedirectDetails) GetMessageName() string {
- return "ip_punt_redirect_details"
-}
-func (*IPPuntRedirectDetails) GetCrcString() string {
- return "a47f70da"
-}
-func (*IPPuntRedirectDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPPuntRedirectDump represents VPP binary API message 'ip_punt_redirect_dump':
-type IPPuntRedirectDump struct {
- SwIfIndex uint32
- IsIPv6 uint8
-}
-
-func (*IPPuntRedirectDump) GetMessageName() string {
- return "ip_punt_redirect_dump"
-}
-func (*IPPuntRedirectDump) GetCrcString() string {
- return "6b7bcd0a"
-}
-func (*IPPuntRedirectDump) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPPuntRedirectReply represents VPP binary API message 'ip_punt_redirect_reply':
-type IPPuntRedirectReply struct {
- Retval int32
-}
-
-func (*IPPuntRedirectReply) GetMessageName() string {
- return "ip_punt_redirect_reply"
-}
-func (*IPPuntRedirectReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*IPPuntRedirectReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPReassemblyEnableDisable represents VPP binary API message 'ip_reassembly_enable_disable':
-type IPReassemblyEnableDisable struct {
- SwIfIndex uint32
- EnableIP4 uint8
- EnableIP6 uint8
-}
-
-func (*IPReassemblyEnableDisable) GetMessageName() string {
- return "ip_reassembly_enable_disable"
-}
-func (*IPReassemblyEnableDisable) GetCrcString() string {
- return "bb8dc5d0"
-}
-func (*IPReassemblyEnableDisable) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPReassemblyEnableDisableReply represents VPP binary API message 'ip_reassembly_enable_disable_reply':
+func (m *IPReassemblyEnableDisable) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.SwIfIndex
+ size += 4
+ // field[1] m.EnableIP4
+ size += 1
+ // field[1] m.EnableIP6
+ size += 1
+ // field[1] m.Type
+ size += 4
+ return size
+}
+func (m *IPReassemblyEnableDisable) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ // field[1] m.EnableIP4
+ if m.EnableIP4 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.EnableIP6
+ if m.EnableIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Type
+ o.PutUint32(buf[pos:pos+4], uint32(m.Type))
+ pos += 4
+ return buf, nil
+}
+func (m *IPReassemblyEnableDisable) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.EnableIP4
+ m.EnableIP4 = tmp[pos] != 0
+ pos += 1
+ // field[1] m.EnableIP6
+ m.EnableIP6 = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Type
+ m.Type = IPReassType(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPReassemblyEnableDisableReply represents VPP binary API message 'ip_reassembly_enable_disable_reply'.
type IPReassemblyEnableDisableReply struct {
- Retval int32
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
+func (m *IPReassemblyEnableDisableReply) Reset() { *m = IPReassemblyEnableDisableReply{} }
func (*IPReassemblyEnableDisableReply) GetMessageName() string {
return "ip_reassembly_enable_disable_reply"
}
-func (*IPReassemblyEnableDisableReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
+func (*IPReassemblyEnableDisableReply) GetCrcString() string { return "e8d4e804" }
+func (*IPReassemblyEnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-// IPReassemblyGet represents VPP binary API message 'ip_reassembly_get':
+func (m *IPReassemblyEnableDisableReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IPReassemblyEnableDisableReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IPReassemblyEnableDisableReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPReassemblyGet represents VPP binary API message 'ip_reassembly_get'.
type IPReassemblyGet struct {
- IsIP6 uint8
+ IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
+ Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"`
}
-func (*IPReassemblyGet) GetMessageName() string {
- return "ip_reassembly_get"
-}
-func (*IPReassemblyGet) GetCrcString() string {
- return "6fe91190"
-}
-func (*IPReassemblyGet) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
+func (m *IPReassemblyGet) Reset() { *m = IPReassemblyGet{} }
+func (*IPReassemblyGet) GetMessageName() string { return "ip_reassembly_get" }
+func (*IPReassemblyGet) GetCrcString() string { return "ea13ff63" }
+func (*IPReassemblyGet) GetMessageType() api.MessageType { return api.RequestMessage }
-// IPReassemblyGetReply represents VPP binary API message 'ip_reassembly_get_reply':
+func (m *IPReassemblyGet) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.IsIP6
+ size += 1
+ // field[1] m.Type
+ size += 4
+ return size
+}
+func (m *IPReassemblyGet) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.IsIP6
+ if m.IsIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Type
+ o.PutUint32(buf[pos:pos+4], uint32(m.Type))
+ pos += 4
+ return buf, nil
+}
+func (m *IPReassemblyGet) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.IsIP6
+ m.IsIP6 = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Type
+ m.Type = IPReassType(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPReassemblyGetReply represents VPP binary API message 'ip_reassembly_get_reply'.
type IPReassemblyGetReply struct {
- Retval int32
- TimeoutMs uint32
- MaxReassemblies uint32
- ExpireWalkIntervalMs uint32
- IsIP6 uint8
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+ TimeoutMs uint32 `binapi:"u32,name=timeout_ms" json:"timeout_ms,omitempty"`
+ MaxReassemblies uint32 `binapi:"u32,name=max_reassemblies" json:"max_reassemblies,omitempty"`
+ MaxReassemblyLength uint32 `binapi:"u32,name=max_reassembly_length" json:"max_reassembly_length,omitempty"`
+ ExpireWalkIntervalMs uint32 `binapi:"u32,name=expire_walk_interval_ms" json:"expire_walk_interval_ms,omitempty"`
+ IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
+}
+
+func (m *IPReassemblyGetReply) Reset() { *m = IPReassemblyGetReply{} }
+func (*IPReassemblyGetReply) GetMessageName() string { return "ip_reassembly_get_reply" }
+func (*IPReassemblyGetReply) GetCrcString() string { return "d5eb8d34" }
+func (*IPReassemblyGetReply) GetMessageType() api.MessageType { return api.ReplyMessage }
+
+func (m *IPReassemblyGetReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ // field[1] m.TimeoutMs
+ size += 4
+ // field[1] m.MaxReassemblies
+ size += 4
+ // field[1] m.MaxReassemblyLength
+ size += 4
+ // field[1] m.ExpireWalkIntervalMs
+ size += 4
+ // field[1] m.IsIP6
+ size += 1
+ return size
+}
+func (m *IPReassemblyGetReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ // field[1] m.TimeoutMs
+ o.PutUint32(buf[pos:pos+4], uint32(m.TimeoutMs))
+ pos += 4
+ // field[1] m.MaxReassemblies
+ o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblies))
+ pos += 4
+ // field[1] m.MaxReassemblyLength
+ o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblyLength))
+ pos += 4
+ // field[1] m.ExpireWalkIntervalMs
+ o.PutUint32(buf[pos:pos+4], uint32(m.ExpireWalkIntervalMs))
+ pos += 4
+ // field[1] m.IsIP6
+ if m.IsIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ return buf, nil
+}
+func (m *IPReassemblyGetReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.TimeoutMs
+ m.TimeoutMs = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.MaxReassemblies
+ m.MaxReassemblies = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.MaxReassemblyLength
+ m.MaxReassemblyLength = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.ExpireWalkIntervalMs
+ m.ExpireWalkIntervalMs = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.IsIP6
+ m.IsIP6 = tmp[pos] != 0
+ pos += 1
+ return nil
+}
+
+// IPReassemblySet represents VPP binary API message 'ip_reassembly_set'.
+type IPReassemblySet struct {
+ TimeoutMs uint32 `binapi:"u32,name=timeout_ms" json:"timeout_ms,omitempty"`
+ MaxReassemblies uint32 `binapi:"u32,name=max_reassemblies" json:"max_reassemblies,omitempty"`
+ MaxReassemblyLength uint32 `binapi:"u32,name=max_reassembly_length" json:"max_reassembly_length,omitempty"`
+ ExpireWalkIntervalMs uint32 `binapi:"u32,name=expire_walk_interval_ms" json:"expire_walk_interval_ms,omitempty"`
+ IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
+ Type IPReassType `binapi:"ip_reass_type,name=type" json:"type,omitempty"`
+}
+
+func (m *IPReassemblySet) Reset() { *m = IPReassemblySet{} }
+func (*IPReassemblySet) GetMessageName() string { return "ip_reassembly_set" }
+func (*IPReassemblySet) GetCrcString() string { return "16467d25" }
+func (*IPReassemblySet) GetMessageType() api.MessageType { return api.RequestMessage }
+
+func (m *IPReassemblySet) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.TimeoutMs
+ size += 4
+ // field[1] m.MaxReassemblies
+ size += 4
+ // field[1] m.MaxReassemblyLength
+ size += 4
+ // field[1] m.ExpireWalkIntervalMs
+ size += 4
+ // field[1] m.IsIP6
+ size += 1
+ // field[1] m.Type
+ size += 4
+ return size
+}
+func (m *IPReassemblySet) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.TimeoutMs
+ o.PutUint32(buf[pos:pos+4], uint32(m.TimeoutMs))
+ pos += 4
+ // field[1] m.MaxReassemblies
+ o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblies))
+ pos += 4
+ // field[1] m.MaxReassemblyLength
+ o.PutUint32(buf[pos:pos+4], uint32(m.MaxReassemblyLength))
+ pos += 4
+ // field[1] m.ExpireWalkIntervalMs
+ o.PutUint32(buf[pos:pos+4], uint32(m.ExpireWalkIntervalMs))
+ pos += 4
+ // field[1] m.IsIP6
+ if m.IsIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Type
+ o.PutUint32(buf[pos:pos+4], uint32(m.Type))
+ pos += 4
+ return buf, nil
+}
+func (m *IPReassemblySet) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.TimeoutMs
+ m.TimeoutMs = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.MaxReassemblies
+ m.MaxReassemblies = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.MaxReassemblyLength
+ m.MaxReassemblyLength = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.ExpireWalkIntervalMs
+ m.ExpireWalkIntervalMs = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.IsIP6
+ m.IsIP6 = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Type
+ m.Type = IPReassType(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPReassemblySetReply represents VPP binary API message 'ip_reassembly_set_reply'.
+type IPReassemblySetReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-func (*IPReassemblyGetReply) GetMessageName() string {
- return "ip_reassembly_get_reply"
-}
-func (*IPReassemblyGetReply) GetCrcString() string {
- return "1f90afd1"
-}
-func (*IPReassemblyGetReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
+func (m *IPReassemblySetReply) Reset() { *m = IPReassemblySetReply{} }
+func (*IPReassemblySetReply) GetMessageName() string { return "ip_reassembly_set_reply" }
+func (*IPReassemblySetReply) GetCrcString() string { return "e8d4e804" }
+func (*IPReassemblySetReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-// IPReassemblySet represents VPP binary API message 'ip_reassembly_set':
-type IPReassemblySet struct {
- TimeoutMs uint32
- MaxReassemblies uint32
- ExpireWalkIntervalMs uint32
- IsIP6 uint8
+func (m *IPReassemblySetReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IPReassemblySetReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IPReassemblySetReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPRouteAddDel represents VPP binary API message 'ip_route_add_del'.
+type IPRouteAddDel struct {
+ IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
+ IsMultipath bool `binapi:"bool,name=is_multipath" json:"is_multipath,omitempty"`
+ Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"`
+}
+
+func (m *IPRouteAddDel) Reset() { *m = IPRouteAddDel{} }
+func (*IPRouteAddDel) GetMessageName() string { return "ip_route_add_del" }
+func (*IPRouteAddDel) GetCrcString() string { return "c1ff832d" }
+func (*IPRouteAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
+
+func (m *IPRouteAddDel) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.IsAdd
+ size += 1
+ // field[1] m.IsMultipath
+ size += 1
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ size += 4
+ // field[2] m.Route.StatsIndex
+ size += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Address
+ // field[4] m.Route.Prefix.Address.Af
+ size += 1
+ // field[4] m.Route.Prefix.Address.Un
+ size += 16
+ // field[3] m.Route.Prefix.Len
+ size += 1
+ // field[2] m.Route.NPaths
+ size += 1
+ // field[2] m.Route.Paths
+ for j2 := 0; j2 < len(m.Route.Paths); j2++ {
+ var s2 FibPath
+ _ = s2
+ if j2 < len(m.Route.Paths) {
+ s2 = m.Route.Paths[j2]
+ }
+ // field[3] s2.SwIfIndex
+ size += 4
+ // field[3] s2.TableID
+ size += 4
+ // field[3] s2.RpfID
+ size += 4
+ // field[3] s2.Weight
+ size += 1
+ // field[3] s2.Preference
+ size += 1
+ // field[3] s2.Type
+ size += 4
+ // field[3] s2.Flags
+ size += 4
+ // field[3] s2.Proto
+ size += 4
+ // field[3] s2.Nh
+ // field[4] s2.Nh.Address
+ size += 16
+ // field[4] s2.Nh.ViaLabel
+ size += 4
+ // field[4] s2.Nh.ObjID
+ size += 4
+ // field[4] s2.Nh.ClassifyTableIndex
+ size += 4
+ // field[3] s2.NLabels
+ size += 1
+ // field[3] s2.LabelStack
+ for j3 := 0; j3 < 16; j3++ {
+ var s3 FibMplsLabel
+ _ = s3
+ if j3 < len(s2.LabelStack) {
+ s3 = s2.LabelStack[j3]
+ }
+ // field[4] s3.IsUniform
+ size += 1
+ // field[4] s3.Label
+ size += 4
+ // field[4] s3.TTL
+ size += 1
+ // field[4] s3.Exp
+ size += 1
+ }
+ }
+ return size
+}
+func (m *IPRouteAddDel) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.IsAdd
+ if m.IsAdd {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.IsMultipath
+ if m.IsMultipath {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
+ pos += 4
+ // field[2] m.Route.StatsIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.Route.StatsIndex))
+ pos += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Address
+ // field[4] m.Route.Prefix.Address.Af
+ buf[pos] = uint8(m.Route.Prefix.Address.Af)
+ pos += 1
+ // field[4] m.Route.Prefix.Address.Un
+ copy(buf[pos:pos+16], m.Route.Prefix.Address.Un.XXX_UnionData[:])
+ pos += 16
+ // field[3] m.Route.Prefix.Len
+ buf[pos] = uint8(m.Route.Prefix.Len)
+ pos += 1
+ // field[2] m.Route.NPaths
+ buf[pos] = uint8(len(m.Route.Paths))
+ pos += 1
+ // field[2] m.Route.Paths
+ for j2 := 0; j2 < len(m.Route.Paths); j2++ {
+ var v2 FibPath
+ if j2 < len(m.Route.Paths) {
+ v2 = m.Route.Paths[j2]
+ }
+ // field[3] v2.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(v2.SwIfIndex))
+ pos += 4
+ // field[3] v2.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.TableID))
+ pos += 4
+ // field[3] v2.RpfID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.RpfID))
+ pos += 4
+ // field[3] v2.Weight
+ buf[pos] = uint8(v2.Weight)
+ pos += 1
+ // field[3] v2.Preference
+ buf[pos] = uint8(v2.Preference)
+ pos += 1
+ // field[3] v2.Type
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Type))
+ pos += 4
+ // field[3] v2.Flags
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Flags))
+ pos += 4
+ // field[3] v2.Proto
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Proto))
+ pos += 4
+ // field[3] v2.Nh
+ // field[4] v2.Nh.Address
+ copy(buf[pos:pos+16], v2.Nh.Address.XXX_UnionData[:])
+ pos += 16
+ // field[4] v2.Nh.ViaLabel
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ViaLabel))
+ pos += 4
+ // field[4] v2.Nh.ObjID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ObjID))
+ pos += 4
+ // field[4] v2.Nh.ClassifyTableIndex
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ClassifyTableIndex))
+ pos += 4
+ // field[3] v2.NLabels
+ buf[pos] = uint8(v2.NLabels)
+ pos += 1
+ // field[3] v2.LabelStack
+ for j3 := 0; j3 < 16; j3++ {
+ var v3 FibMplsLabel
+ if j3 < len(v2.LabelStack) {
+ v3 = v2.LabelStack[j3]
+ }
+ // field[4] v3.IsUniform
+ buf[pos] = uint8(v3.IsUniform)
+ pos += 1
+ // field[4] v3.Label
+ o.PutUint32(buf[pos:pos+4], uint32(v3.Label))
+ pos += 4
+ // field[4] v3.TTL
+ buf[pos] = uint8(v3.TTL)
+ pos += 1
+ // field[4] v3.Exp
+ buf[pos] = uint8(v3.Exp)
+ pos += 1
+ }
+ }
+ return buf, nil
+}
+func (m *IPRouteAddDel) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.IsAdd
+ m.IsAdd = tmp[pos] != 0
+ pos += 1
+ // field[1] m.IsMultipath
+ m.IsMultipath = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Route.StatsIndex
+ m.Route.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Address
+ // field[4] m.Route.Prefix.Address.Af
+ m.Route.Prefix.Address.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Prefix.Address.Un
+ copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[3] m.Route.Prefix.Len
+ m.Route.Prefix.Len = uint8(tmp[pos])
+ pos += 1
+ // field[2] m.Route.NPaths
+ m.Route.NPaths = uint8(tmp[pos])
+ pos += 1
+ // field[2] m.Route.Paths
+ m.Route.Paths = make([]FibPath, int(m.Route.NPaths))
+ for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
+ // field[3] m.Route.Paths[j2].SwIfIndex
+ m.Route.Paths[j2].SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].TableID
+ m.Route.Paths[j2].TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].RpfID
+ m.Route.Paths[j2].RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Weight
+ m.Route.Paths[j2].Weight = uint8(tmp[pos])
+ pos += 1
+ // field[3] m.Route.Paths[j2].Preference
+ m.Route.Paths[j2].Preference = uint8(tmp[pos])
+ pos += 1
+ // field[3] m.Route.Paths[j2].Type
+ m.Route.Paths[j2].Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Flags
+ m.Route.Paths[j2].Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Proto
+ m.Route.Paths[j2].Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Nh
+ // field[4] m.Route.Paths[j2].Nh.Address
+ copy(m.Route.Paths[j2].Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[4] m.Route.Paths[j2].Nh.ViaLabel
+ m.Route.Paths[j2].Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Nh.ObjID
+ m.Route.Paths[j2].Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Nh.ClassifyTableIndex
+ m.Route.Paths[j2].Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].NLabels
+ m.Route.Paths[j2].NLabels = uint8(tmp[pos])
+ pos += 1
+ // field[3] m.Route.Paths[j2].LabelStack
+ for j3 := 0; j3 < 16; j3++ {
+ // field[4] m.Route.Paths[j2].LabelStack[j3].IsUniform
+ m.Route.Paths[j2].LabelStack[j3].IsUniform = uint8(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Paths[j2].LabelStack[j3].Label
+ m.Route.Paths[j2].LabelStack[j3].Label = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].LabelStack[j3].TTL
+ m.Route.Paths[j2].LabelStack[j3].TTL = uint8(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Paths[j2].LabelStack[j3].Exp
+ m.Route.Paths[j2].LabelStack[j3].Exp = uint8(tmp[pos])
+ pos += 1
+ }
+ }
+ return nil
}
-func (*IPReassemblySet) GetMessageName() string {
- return "ip_reassembly_set"
-}
-func (*IPReassemblySet) GetCrcString() string {
- return "1db184de"
-}
-func (*IPReassemblySet) GetMessageType() api.MessageType {
- return api.RequestMessage
+// IPRouteAddDelReply represents VPP binary API message 'ip_route_add_del_reply'.
+type IPRouteAddDelReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+ StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
}
-// IPReassemblySetReply represents VPP binary API message 'ip_reassembly_set_reply':
-type IPReassemblySetReply struct {
- Retval int32
-}
+func (m *IPRouteAddDelReply) Reset() { *m = IPRouteAddDelReply{} }
+func (*IPRouteAddDelReply) GetMessageName() string { return "ip_route_add_del_reply" }
+func (*IPRouteAddDelReply) GetCrcString() string { return "1992deab" }
+func (*IPRouteAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-func (*IPReassemblySetReply) GetMessageName() string {
- return "ip_reassembly_set_reply"
-}
-func (*IPReassemblySetReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*IPReassemblySetReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
+func (m *IPRouteAddDelReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ // field[1] m.StatsIndex
+ size += 4
+ return size
+}
+func (m *IPRouteAddDelReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ // field[1] m.StatsIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.StatsIndex))
+ pos += 4
+ return buf, nil
+}
+func (m *IPRouteAddDelReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.StatsIndex
+ m.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPRouteDetails represents VPP binary API message 'ip_route_details'.
+type IPRouteDetails struct {
+ Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"`
+}
+
+func (m *IPRouteDetails) Reset() { *m = IPRouteDetails{} }
+func (*IPRouteDetails) GetMessageName() string { return "ip_route_details" }
+func (*IPRouteDetails) GetCrcString() string { return "d1ffaae1" }
+func (*IPRouteDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
+
+func (m *IPRouteDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ size += 4
+ // field[2] m.Route.StatsIndex
+ size += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Address
+ // field[4] m.Route.Prefix.Address.Af
+ size += 1
+ // field[4] m.Route.Prefix.Address.Un
+ size += 16
+ // field[3] m.Route.Prefix.Len
+ size += 1
+ // field[2] m.Route.NPaths
+ size += 1
+ // field[2] m.Route.Paths
+ for j2 := 0; j2 < len(m.Route.Paths); j2++ {
+ var s2 FibPath
+ _ = s2
+ if j2 < len(m.Route.Paths) {
+ s2 = m.Route.Paths[j2]
+ }
+ // field[3] s2.SwIfIndex
+ size += 4
+ // field[3] s2.TableID
+ size += 4
+ // field[3] s2.RpfID
+ size += 4
+ // field[3] s2.Weight
+ size += 1
+ // field[3] s2.Preference
+ size += 1
+ // field[3] s2.Type
+ size += 4
+ // field[3] s2.Flags
+ size += 4
+ // field[3] s2.Proto
+ size += 4
+ // field[3] s2.Nh
+ // field[4] s2.Nh.Address
+ size += 16
+ // field[4] s2.Nh.ViaLabel
+ size += 4
+ // field[4] s2.Nh.ObjID
+ size += 4
+ // field[4] s2.Nh.ClassifyTableIndex
+ size += 4
+ // field[3] s2.NLabels
+ size += 1
+ // field[3] s2.LabelStack
+ for j3 := 0; j3 < 16; j3++ {
+ var s3 FibMplsLabel
+ _ = s3
+ if j3 < len(s2.LabelStack) {
+ s3 = s2.LabelStack[j3]
+ }
+ // field[4] s3.IsUniform
+ size += 1
+ // field[4] s3.Label
+ size += 4
+ // field[4] s3.TTL
+ size += 1
+ // field[4] s3.Exp
+ size += 1
+ }
+ }
+ return size
+}
+func (m *IPRouteDetails) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
+ pos += 4
+ // field[2] m.Route.StatsIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.Route.StatsIndex))
+ pos += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Address
+ // field[4] m.Route.Prefix.Address.Af
+ buf[pos] = uint8(m.Route.Prefix.Address.Af)
+ pos += 1
+ // field[4] m.Route.Prefix.Address.Un
+ copy(buf[pos:pos+16], m.Route.Prefix.Address.Un.XXX_UnionData[:])
+ pos += 16
+ // field[3] m.Route.Prefix.Len
+ buf[pos] = uint8(m.Route.Prefix.Len)
+ pos += 1
+ // field[2] m.Route.NPaths
+ buf[pos] = uint8(len(m.Route.Paths))
+ pos += 1
+ // field[2] m.Route.Paths
+ for j2 := 0; j2 < len(m.Route.Paths); j2++ {
+ var v2 FibPath
+ if j2 < len(m.Route.Paths) {
+ v2 = m.Route.Paths[j2]
+ }
+ // field[3] v2.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(v2.SwIfIndex))
+ pos += 4
+ // field[3] v2.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.TableID))
+ pos += 4
+ // field[3] v2.RpfID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.RpfID))
+ pos += 4
+ // field[3] v2.Weight
+ buf[pos] = uint8(v2.Weight)
+ pos += 1
+ // field[3] v2.Preference
+ buf[pos] = uint8(v2.Preference)
+ pos += 1
+ // field[3] v2.Type
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Type))
+ pos += 4
+ // field[3] v2.Flags
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Flags))
+ pos += 4
+ // field[3] v2.Proto
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Proto))
+ pos += 4
+ // field[3] v2.Nh
+ // field[4] v2.Nh.Address
+ copy(buf[pos:pos+16], v2.Nh.Address.XXX_UnionData[:])
+ pos += 16
+ // field[4] v2.Nh.ViaLabel
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ViaLabel))
+ pos += 4
+ // field[4] v2.Nh.ObjID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ObjID))
+ pos += 4
+ // field[4] v2.Nh.ClassifyTableIndex
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ClassifyTableIndex))
+ pos += 4
+ // field[3] v2.NLabels
+ buf[pos] = uint8(v2.NLabels)
+ pos += 1
+ // field[3] v2.LabelStack
+ for j3 := 0; j3 < 16; j3++ {
+ var v3 FibMplsLabel
+ if j3 < len(v2.LabelStack) {
+ v3 = v2.LabelStack[j3]
+ }
+ // field[4] v3.IsUniform
+ buf[pos] = uint8(v3.IsUniform)
+ pos += 1
+ // field[4] v3.Label
+ o.PutUint32(buf[pos:pos+4], uint32(v3.Label))
+ pos += 4
+ // field[4] v3.TTL
+ buf[pos] = uint8(v3.TTL)
+ pos += 1
+ // field[4] v3.Exp
+ buf[pos] = uint8(v3.Exp)
+ pos += 1
+ }
+ }
+ return buf, nil
+}
+func (m *IPRouteDetails) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Route.StatsIndex
+ m.Route.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Address
+ // field[4] m.Route.Prefix.Address.Af
+ m.Route.Prefix.Address.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Prefix.Address.Un
+ copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[3] m.Route.Prefix.Len
+ m.Route.Prefix.Len = uint8(tmp[pos])
+ pos += 1
+ // field[2] m.Route.NPaths
+ m.Route.NPaths = uint8(tmp[pos])
+ pos += 1
+ // field[2] m.Route.Paths
+ m.Route.Paths = make([]FibPath, int(m.Route.NPaths))
+ for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
+ // field[3] m.Route.Paths[j2].SwIfIndex
+ m.Route.Paths[j2].SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].TableID
+ m.Route.Paths[j2].TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].RpfID
+ m.Route.Paths[j2].RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Weight
+ m.Route.Paths[j2].Weight = uint8(tmp[pos])
+ pos += 1
+ // field[3] m.Route.Paths[j2].Preference
+ m.Route.Paths[j2].Preference = uint8(tmp[pos])
+ pos += 1
+ // field[3] m.Route.Paths[j2].Type
+ m.Route.Paths[j2].Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Flags
+ m.Route.Paths[j2].Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Proto
+ m.Route.Paths[j2].Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Nh
+ // field[4] m.Route.Paths[j2].Nh.Address
+ copy(m.Route.Paths[j2].Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[4] m.Route.Paths[j2].Nh.ViaLabel
+ m.Route.Paths[j2].Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Nh.ObjID
+ m.Route.Paths[j2].Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Nh.ClassifyTableIndex
+ m.Route.Paths[j2].Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].NLabels
+ m.Route.Paths[j2].NLabels = uint8(tmp[pos])
+ pos += 1
+ // field[3] m.Route.Paths[j2].LabelStack
+ for j3 := 0; j3 < 16; j3++ {
+ // field[4] m.Route.Paths[j2].LabelStack[j3].IsUniform
+ m.Route.Paths[j2].LabelStack[j3].IsUniform = uint8(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Paths[j2].LabelStack[j3].Label
+ m.Route.Paths[j2].LabelStack[j3].Label = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].LabelStack[j3].TTL
+ m.Route.Paths[j2].LabelStack[j3].TTL = uint8(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Paths[j2].LabelStack[j3].Exp
+ m.Route.Paths[j2].LabelStack[j3].Exp = uint8(tmp[pos])
+ pos += 1
+ }
+ }
+ return nil
}
-// IPScanNeighborEnableDisable represents VPP binary API message 'ip_scan_neighbor_enable_disable':
-type IPScanNeighborEnableDisable struct {
- Mode uint8
- ScanInterval uint8
- MaxProcTime uint8
- MaxUpdate uint8
- ScanIntDelay uint8
- StaleThreshold uint8
+// IPRouteDump represents VPP binary API message 'ip_route_dump'.
+type IPRouteDump struct {
+ Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
}
-func (*IPScanNeighborEnableDisable) GetMessageName() string {
- return "ip_scan_neighbor_enable_disable"
-}
-func (*IPScanNeighborEnableDisable) GetCrcString() string {
- return "0a6bf57a"
-}
-func (*IPScanNeighborEnableDisable) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
+func (m *IPRouteDump) Reset() { *m = IPRouteDump{} }
+func (*IPRouteDump) GetMessageName() string { return "ip_route_dump" }
+func (*IPRouteDump) GetCrcString() string { return "b9d2e09e" }
+func (*IPRouteDump) GetMessageType() api.MessageType { return api.RequestMessage }
-// IPScanNeighborEnableDisableReply represents VPP binary API message 'ip_scan_neighbor_enable_disable_reply':
-type IPScanNeighborEnableDisableReply struct {
- Retval int32
+func (m *IPRouteDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ size += 4
+ // field[2] m.Table.IsIP6
+ size += 1
+ // field[2] m.Table.Name
+ size += 64
+ return size
+}
+func (m *IPRouteDump) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ if m.Table.IsIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[2] m.Table.Name
+ copy(buf[pos:pos+64], m.Table.Name)
+ pos += 64
+ return buf, nil
+}
+func (m *IPRouteDump) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ m.Table.IsIP6 = tmp[pos] != 0
+ pos += 1
+ // field[2] m.Table.Name
+ {
+ nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
+ m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
+ pos += 64
+ }
+ return nil
}
-func (*IPScanNeighborEnableDisableReply) GetMessageName() string {
- return "ip_scan_neighbor_enable_disable_reply"
-}
-func (*IPScanNeighborEnableDisableReply) GetCrcString() string {
- return "e8d4e804"
+// IPRouteLookup represents VPP binary API message 'ip_route_lookup'.
+type IPRouteLookup struct {
+ TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
+ Exact uint8 `binapi:"u8,name=exact" json:"exact,omitempty"`
+ Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
}
-func (*IPScanNeighborEnableDisableReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
+
+func (m *IPRouteLookup) Reset() { *m = IPRouteLookup{} }
+func (*IPRouteLookup) GetMessageName() string { return "ip_route_lookup" }
+func (*IPRouteLookup) GetCrcString() string { return "e2986185" }
+func (*IPRouteLookup) GetMessageType() api.MessageType { return api.RequestMessage }
+
+func (m *IPRouteLookup) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.TableID
+ size += 4
+ // field[1] m.Exact
+ size += 1
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ size += 1
+ // field[3] m.Prefix.Address.Un
+ size += 16
+ // field[2] m.Prefix.Len
+ size += 1
+ return size
+}
+func (m *IPRouteLookup) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.TableID))
+ pos += 4
+ // field[1] m.Exact
+ buf[pos] = uint8(m.Exact)
+ pos += 1
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ buf[pos] = uint8(m.Prefix.Address.Af)
+ pos += 1
+ // field[3] m.Prefix.Address.Un
+ copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
+ pos += 16
+ // field[2] m.Prefix.Len
+ buf[pos] = uint8(m.Prefix.Len)
+ pos += 1
+ return buf, nil
+}
+func (m *IPRouteLookup) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.TableID
+ m.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.Exact
+ m.Exact = uint8(tmp[pos])
+ pos += 1
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ m.Prefix.Address.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[3] m.Prefix.Address.Un
+ copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[2] m.Prefix.Len
+ m.Prefix.Len = uint8(tmp[pos])
+ pos += 1
+ return nil
+}
+
+// IPRouteLookupReply represents VPP binary API message 'ip_route_lookup_reply'.
+type IPRouteLookupReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+ Route IPRoute `binapi:"ip_route,name=route" json:"route,omitempty"`
+}
+
+func (m *IPRouteLookupReply) Reset() { *m = IPRouteLookupReply{} }
+func (*IPRouteLookupReply) GetMessageName() string { return "ip_route_lookup_reply" }
+func (*IPRouteLookupReply) GetCrcString() string { return "ae99de8e" }
+func (*IPRouteLookupReply) GetMessageType() api.MessageType { return api.ReplyMessage }
+
+func (m *IPRouteLookupReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ size += 4
+ // field[2] m.Route.StatsIndex
+ size += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Address
+ // field[4] m.Route.Prefix.Address.Af
+ size += 1
+ // field[4] m.Route.Prefix.Address.Un
+ size += 16
+ // field[3] m.Route.Prefix.Len
+ size += 1
+ // field[2] m.Route.NPaths
+ size += 1
+ // field[2] m.Route.Paths
+ for j2 := 0; j2 < len(m.Route.Paths); j2++ {
+ var s2 FibPath
+ _ = s2
+ if j2 < len(m.Route.Paths) {
+ s2 = m.Route.Paths[j2]
+ }
+ // field[3] s2.SwIfIndex
+ size += 4
+ // field[3] s2.TableID
+ size += 4
+ // field[3] s2.RpfID
+ size += 4
+ // field[3] s2.Weight
+ size += 1
+ // field[3] s2.Preference
+ size += 1
+ // field[3] s2.Type
+ size += 4
+ // field[3] s2.Flags
+ size += 4
+ // field[3] s2.Proto
+ size += 4
+ // field[3] s2.Nh
+ // field[4] s2.Nh.Address
+ size += 16
+ // field[4] s2.Nh.ViaLabel
+ size += 4
+ // field[4] s2.Nh.ObjID
+ size += 4
+ // field[4] s2.Nh.ClassifyTableIndex
+ size += 4
+ // field[3] s2.NLabels
+ size += 1
+ // field[3] s2.LabelStack
+ for j3 := 0; j3 < 16; j3++ {
+ var s3 FibMplsLabel
+ _ = s3
+ if j3 < len(s2.LabelStack) {
+ s3 = s2.LabelStack[j3]
+ }
+ // field[4] s3.IsUniform
+ size += 1
+ // field[4] s3.Label
+ size += 4
+ // field[4] s3.TTL
+ size += 1
+ // field[4] s3.Exp
+ size += 1
+ }
+ }
+ return size
+}
+func (m *IPRouteLookupReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Route.TableID))
+ pos += 4
+ // field[2] m.Route.StatsIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.Route.StatsIndex))
+ pos += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Address
+ // field[4] m.Route.Prefix.Address.Af
+ buf[pos] = uint8(m.Route.Prefix.Address.Af)
+ pos += 1
+ // field[4] m.Route.Prefix.Address.Un
+ copy(buf[pos:pos+16], m.Route.Prefix.Address.Un.XXX_UnionData[:])
+ pos += 16
+ // field[3] m.Route.Prefix.Len
+ buf[pos] = uint8(m.Route.Prefix.Len)
+ pos += 1
+ // field[2] m.Route.NPaths
+ buf[pos] = uint8(len(m.Route.Paths))
+ pos += 1
+ // field[2] m.Route.Paths
+ for j2 := 0; j2 < len(m.Route.Paths); j2++ {
+ var v2 FibPath
+ if j2 < len(m.Route.Paths) {
+ v2 = m.Route.Paths[j2]
+ }
+ // field[3] v2.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(v2.SwIfIndex))
+ pos += 4
+ // field[3] v2.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.TableID))
+ pos += 4
+ // field[3] v2.RpfID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.RpfID))
+ pos += 4
+ // field[3] v2.Weight
+ buf[pos] = uint8(v2.Weight)
+ pos += 1
+ // field[3] v2.Preference
+ buf[pos] = uint8(v2.Preference)
+ pos += 1
+ // field[3] v2.Type
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Type))
+ pos += 4
+ // field[3] v2.Flags
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Flags))
+ pos += 4
+ // field[3] v2.Proto
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Proto))
+ pos += 4
+ // field[3] v2.Nh
+ // field[4] v2.Nh.Address
+ copy(buf[pos:pos+16], v2.Nh.Address.XXX_UnionData[:])
+ pos += 16
+ // field[4] v2.Nh.ViaLabel
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ViaLabel))
+ pos += 4
+ // field[4] v2.Nh.ObjID
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ObjID))
+ pos += 4
+ // field[4] v2.Nh.ClassifyTableIndex
+ o.PutUint32(buf[pos:pos+4], uint32(v2.Nh.ClassifyTableIndex))
+ pos += 4
+ // field[3] v2.NLabels
+ buf[pos] = uint8(v2.NLabels)
+ pos += 1
+ // field[3] v2.LabelStack
+ for j3 := 0; j3 < 16; j3++ {
+ var v3 FibMplsLabel
+ if j3 < len(v2.LabelStack) {
+ v3 = v2.LabelStack[j3]
+ }
+ // field[4] v3.IsUniform
+ buf[pos] = uint8(v3.IsUniform)
+ pos += 1
+ // field[4] v3.Label
+ o.PutUint32(buf[pos:pos+4], uint32(v3.Label))
+ pos += 4
+ // field[4] v3.TTL
+ buf[pos] = uint8(v3.TTL)
+ pos += 1
+ // field[4] v3.Exp
+ buf[pos] = uint8(v3.Exp)
+ pos += 1
+ }
+ }
+ return buf, nil
+}
+func (m *IPRouteLookupReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.Route
+ // field[2] m.Route.TableID
+ m.Route.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Route.StatsIndex
+ m.Route.StatsIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Route.Prefix
+ // field[3] m.Route.Prefix.Address
+ // field[4] m.Route.Prefix.Address.Af
+ m.Route.Prefix.Address.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Prefix.Address.Un
+ copy(m.Route.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[3] m.Route.Prefix.Len
+ m.Route.Prefix.Len = uint8(tmp[pos])
+ pos += 1
+ // field[2] m.Route.NPaths
+ m.Route.NPaths = uint8(tmp[pos])
+ pos += 1
+ // field[2] m.Route.Paths
+ m.Route.Paths = make([]FibPath, int(m.Route.NPaths))
+ for j2 := 0; j2 < int(m.Route.NPaths); j2++ {
+ // field[3] m.Route.Paths[j2].SwIfIndex
+ m.Route.Paths[j2].SwIfIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].TableID
+ m.Route.Paths[j2].TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].RpfID
+ m.Route.Paths[j2].RpfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Weight
+ m.Route.Paths[j2].Weight = uint8(tmp[pos])
+ pos += 1
+ // field[3] m.Route.Paths[j2].Preference
+ m.Route.Paths[j2].Preference = uint8(tmp[pos])
+ pos += 1
+ // field[3] m.Route.Paths[j2].Type
+ m.Route.Paths[j2].Type = FibPathType(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Flags
+ m.Route.Paths[j2].Flags = FibPathFlags(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Proto
+ m.Route.Paths[j2].Proto = FibPathNhProto(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].Nh
+ // field[4] m.Route.Paths[j2].Nh.Address
+ copy(m.Route.Paths[j2].Nh.Address.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[4] m.Route.Paths[j2].Nh.ViaLabel
+ m.Route.Paths[j2].Nh.ViaLabel = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Nh.ObjID
+ m.Route.Paths[j2].Nh.ObjID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].Nh.ClassifyTableIndex
+ m.Route.Paths[j2].Nh.ClassifyTableIndex = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[3] m.Route.Paths[j2].NLabels
+ m.Route.Paths[j2].NLabels = uint8(tmp[pos])
+ pos += 1
+ // field[3] m.Route.Paths[j2].LabelStack
+ for j3 := 0; j3 < 16; j3++ {
+ // field[4] m.Route.Paths[j2].LabelStack[j3].IsUniform
+ m.Route.Paths[j2].LabelStack[j3].IsUniform = uint8(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Paths[j2].LabelStack[j3].Label
+ m.Route.Paths[j2].LabelStack[j3].Label = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[4] m.Route.Paths[j2].LabelStack[j3].TTL
+ m.Route.Paths[j2].LabelStack[j3].TTL = uint8(tmp[pos])
+ pos += 1
+ // field[4] m.Route.Paths[j2].LabelStack[j3].Exp
+ m.Route.Paths[j2].LabelStack[j3].Exp = uint8(tmp[pos])
+ pos += 1
+ }
+ }
+ return nil
}
-// IPSourceAndPortRangeCheckAddDel represents VPP binary API message 'ip_source_and_port_range_check_add_del':
+// IPSourceAndPortRangeCheckAddDel represents VPP binary API message 'ip_source_and_port_range_check_add_del'.
type IPSourceAndPortRangeCheckAddDel struct {
- IsAdd uint8
- Prefix Prefix
- NumberOfRanges uint8
- LowPorts []uint16 `struc:"[32]uint16"`
- HighPorts []uint16 `struc:"[32]uint16"`
- VrfID uint32
+ IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
+ Prefix Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
+ NumberOfRanges uint8 `binapi:"u8,name=number_of_ranges" json:"number_of_ranges,omitempty"`
+ LowPorts []uint16 `binapi:"u16[32],name=low_ports" json:"low_ports,omitempty" struc:"[32]uint16"`
+ HighPorts []uint16 `binapi:"u16[32],name=high_ports" json:"high_ports,omitempty" struc:"[32]uint16"`
+ VrfID uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
}
+func (m *IPSourceAndPortRangeCheckAddDel) Reset() { *m = IPSourceAndPortRangeCheckAddDel{} }
func (*IPSourceAndPortRangeCheckAddDel) GetMessageName() string {
return "ip_source_and_port_range_check_add_del"
}
-func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string {
- return "ea07c429"
-}
-func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (*IPSourceAndPortRangeCheckAddDel) GetCrcString() string { return "8bfc76f2" }
+func (*IPSourceAndPortRangeCheckAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
+
+func (m *IPSourceAndPortRangeCheckAddDel) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.IsAdd
+ size += 1
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ size += 1
+ // field[3] m.Prefix.Address.Un
+ size += 16
+ // field[2] m.Prefix.Len
+ size += 1
+ // field[1] m.NumberOfRanges
+ size += 1
+ // field[1] m.LowPorts
+ size += 64
+ // field[1] m.HighPorts
+ size += 64
+ // field[1] m.VrfID
+ size += 4
+ return size
+}
+func (m *IPSourceAndPortRangeCheckAddDel) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.IsAdd
+ if m.IsAdd {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ buf[pos] = uint8(m.Prefix.Address.Af)
+ pos += 1
+ // field[3] m.Prefix.Address.Un
+ copy(buf[pos:pos+16], m.Prefix.Address.Un.XXX_UnionData[:])
+ pos += 16
+ // field[2] m.Prefix.Len
+ buf[pos] = uint8(m.Prefix.Len)
+ pos += 1
+ // field[1] m.NumberOfRanges
+ buf[pos] = uint8(m.NumberOfRanges)
+ pos += 1
+ // field[1] m.LowPorts
+ for i := 0; i < 32; i++ {
+ var x uint16
+ if i < len(m.LowPorts) {
+ x = uint16(m.LowPorts[i])
+ }
+ o.PutUint16(buf[pos:pos+2], uint16(x))
+ pos += 2
+ }
+ // field[1] m.HighPorts
+ for i := 0; i < 32; i++ {
+ var x uint16
+ if i < len(m.HighPorts) {
+ x = uint16(m.HighPorts[i])
+ }
+ o.PutUint16(buf[pos:pos+2], uint16(x))
+ pos += 2
+ }
+ // field[1] m.VrfID
+ o.PutUint32(buf[pos:pos+4], uint32(m.VrfID))
+ pos += 4
+ return buf, nil
+}
+func (m *IPSourceAndPortRangeCheckAddDel) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.IsAdd
+ m.IsAdd = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Address
+ // field[3] m.Prefix.Address.Af
+ m.Prefix.Address.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[3] m.Prefix.Address.Un
+ copy(m.Prefix.Address.Un.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[2] m.Prefix.Len
+ m.Prefix.Len = uint8(tmp[pos])
+ pos += 1
+ // field[1] m.NumberOfRanges
+ m.NumberOfRanges = uint8(tmp[pos])
+ pos += 1
+ // field[1] m.LowPorts
+ m.LowPorts = make([]uint16, 32)
+ for i := 0; i < len(m.LowPorts); i++ {
+ m.LowPorts[i] = uint16(o.Uint16(tmp[pos : pos+2]))
+ pos += 2
+ }
+ // field[1] m.HighPorts
+ m.HighPorts = make([]uint16, 32)
+ for i := 0; i < len(m.HighPorts); i++ {
+ m.HighPorts[i] = uint16(o.Uint16(tmp[pos : pos+2]))
+ pos += 2
+ }
+ // field[1] m.VrfID
+ m.VrfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
}
-// IPSourceAndPortRangeCheckAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_add_del_reply':
+// IPSourceAndPortRangeCheckAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_add_del_reply'.
type IPSourceAndPortRangeCheckAddDelReply struct {
- Retval int32
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
+func (m *IPSourceAndPortRangeCheckAddDelReply) Reset() { *m = IPSourceAndPortRangeCheckAddDelReply{} }
func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageName() string {
return "ip_source_and_port_range_check_add_del_reply"
}
-func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string {
- return "e8d4e804"
-}
+func (*IPSourceAndPortRangeCheckAddDelReply) GetCrcString() string { return "e8d4e804" }
func (*IPSourceAndPortRangeCheckAddDelReply) GetMessageType() api.MessageType {
return api.ReplyMessage
}
-// IPSourceAndPortRangeCheckInterfaceAddDel represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del':
+func (m *IPSourceAndPortRangeCheckAddDelReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IPSourceAndPortRangeCheckAddDelReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IPSourceAndPortRangeCheckAddDelReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPSourceAndPortRangeCheckInterfaceAddDel represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del'.
type IPSourceAndPortRangeCheckInterfaceAddDel struct {
- IsAdd uint8
- SwIfIndex uint32
- TCPInVrfID uint32
- TCPOutVrfID uint32
- UDPInVrfID uint32
- UDPOutVrfID uint32
+ IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ TCPInVrfID uint32 `binapi:"u32,name=tcp_in_vrf_id" json:"tcp_in_vrf_id,omitempty"`
+ TCPOutVrfID uint32 `binapi:"u32,name=tcp_out_vrf_id" json:"tcp_out_vrf_id,omitempty"`
+ UDPInVrfID uint32 `binapi:"u32,name=udp_in_vrf_id" json:"udp_in_vrf_id,omitempty"`
+ UDPOutVrfID uint32 `binapi:"u32,name=udp_out_vrf_id" json:"udp_out_vrf_id,omitempty"`
}
+func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Reset() {
+ *m = IPSourceAndPortRangeCheckInterfaceAddDel{}
+}
func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageName() string {
return "ip_source_and_port_range_check_interface_add_del"
}
-func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string {
- return "6966bc44"
-}
+func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetCrcString() string { return "e1ba8987" }
func (*IPSourceAndPortRangeCheckInterfaceAddDel) GetMessageType() api.MessageType {
return api.RequestMessage
}
-// IPSourceAndPortRangeCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply':
+func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.IsAdd
+ size += 1
+ // field[1] m.SwIfIndex
+ size += 4
+ // field[1] m.TCPInVrfID
+ size += 4
+ // field[1] m.TCPOutVrfID
+ size += 4
+ // field[1] m.UDPInVrfID
+ size += 4
+ // field[1] m.UDPOutVrfID
+ size += 4
+ return size
+}
+func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.IsAdd
+ if m.IsAdd {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ // field[1] m.TCPInVrfID
+ o.PutUint32(buf[pos:pos+4], uint32(m.TCPInVrfID))
+ pos += 4
+ // field[1] m.TCPOutVrfID
+ o.PutUint32(buf[pos:pos+4], uint32(m.TCPOutVrfID))
+ pos += 4
+ // field[1] m.UDPInVrfID
+ o.PutUint32(buf[pos:pos+4], uint32(m.UDPInVrfID))
+ pos += 4
+ // field[1] m.UDPOutVrfID
+ o.PutUint32(buf[pos:pos+4], uint32(m.UDPOutVrfID))
+ pos += 4
+ return buf, nil
+}
+func (m *IPSourceAndPortRangeCheckInterfaceAddDel) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.IsAdd
+ m.IsAdd = tmp[pos] != 0
+ pos += 1
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.TCPInVrfID
+ m.TCPInVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.TCPOutVrfID
+ m.TCPOutVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.UDPInVrfID
+ m.UDPInVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.UDPOutVrfID
+ m.UDPOutVrfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPSourceAndPortRangeCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_and_port_range_check_interface_add_del_reply'.
type IPSourceAndPortRangeCheckInterfaceAddDelReply struct {
- Retval int32
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
+func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Reset() {
+ *m = IPSourceAndPortRangeCheckInterfaceAddDelReply{}
+}
func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageName() string {
return "ip_source_and_port_range_check_interface_add_del_reply"
}
-func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string {
- return "e8d4e804"
-}
+func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetCrcString() string { return "e8d4e804" }
func (*IPSourceAndPortRangeCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
return api.ReplyMessage
}
-// IPSourceCheckInterfaceAddDel represents VPP binary API message 'ip_source_check_interface_add_del':
-type IPSourceCheckInterfaceAddDel struct {
- IsAdd uint8
- Loose uint8
- SwIfIndex uint32
-}
-
-func (*IPSourceCheckInterfaceAddDel) GetMessageName() string {
- return "ip_source_check_interface_add_del"
-}
-func (*IPSourceCheckInterfaceAddDel) GetCrcString() string {
- return "0a60152a"
-}
-func (*IPSourceCheckInterfaceAddDel) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPSourceCheckInterfaceAddDelReply represents VPP binary API message 'ip_source_check_interface_add_del_reply':
-type IPSourceCheckInterfaceAddDelReply struct {
- Retval int32
-}
-
-func (*IPSourceCheckInterfaceAddDelReply) GetMessageName() string {
- return "ip_source_check_interface_add_del_reply"
-}
-func (*IPSourceCheckInterfaceAddDelReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*IPSourceCheckInterfaceAddDelReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPTableAddDel represents VPP binary API message 'ip_table_add_del':
+func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IPSourceAndPortRangeCheckInterfaceAddDelReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPTableAddDel represents VPP binary API message 'ip_table_add_del'.
type IPTableAddDel struct {
- TableID uint32
- IsIPv6 uint8
- IsAdd uint8
- Name []byte `struc:"[64]byte"`
-}
-
-func (*IPTableAddDel) GetMessageName() string {
- return "ip_table_add_del"
-}
-func (*IPTableAddDel) GetCrcString() string {
- return "0240c89d"
-}
-func (*IPTableAddDel) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply':
-type IPTableAddDelReply struct {
- Retval int32
-}
-
-func (*IPTableAddDelReply) GetMessageName() string {
- return "ip_table_add_del_reply"
-}
-func (*IPTableAddDelReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*IPTableAddDelReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details':
-type IPUnnumberedDetails struct {
- SwIfIndex uint32
- IPSwIfIndex uint32
-}
-
-func (*IPUnnumberedDetails) GetMessageName() string {
- return "ip_unnumbered_details"
-}
-func (*IPUnnumberedDetails) GetCrcString() string {
- return "ae694cf4"
-}
-func (*IPUnnumberedDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump':
-type IPUnnumberedDump struct {
- SwIfIndex uint32
-}
-
-func (*IPUnnumberedDump) GetMessageName() string {
- return "ip_unnumbered_dump"
-}
-func (*IPUnnumberedDump) GetCrcString() string {
- return "529cb13f"
-}
-func (*IPUnnumberedDump) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// MfibSignalDetails represents VPP binary API message 'mfib_signal_details':
-type MfibSignalDetails struct {
- SwIfIndex uint32
- TableID uint32
- GrpAddressLen uint16
- GrpAddress []byte `struc:"[16]byte"`
- SrcAddress []byte `struc:"[16]byte"`
- IPPacketLen uint16
- IPPacketData []byte `struc:"[256]byte"`
-}
-
-func (*MfibSignalDetails) GetMessageName() string {
- return "mfib_signal_details"
-}
-func (*MfibSignalDetails) GetCrcString() string {
- return "3f5f03f5"
-}
-func (*MfibSignalDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// MfibSignalDump represents VPP binary API message 'mfib_signal_dump':
-type MfibSignalDump struct{}
-
-func (*MfibSignalDump) GetMessageName() string {
- return "mfib_signal_dump"
-}
-func (*MfibSignalDump) GetCrcString() string {
- return "51077d14"
-}
-func (*MfibSignalDump) GetMessageType() api.MessageType {
- return api.RequestMessage
+ IsAdd bool `binapi:"bool,name=is_add,default=true" json:"is_add,omitempty"`
+ Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
}
-// ProxyArpAddDel represents VPP binary API message 'proxy_arp_add_del':
-type ProxyArpAddDel struct {
- IsAdd uint8
- Proxy ProxyArp
-}
+func (m *IPTableAddDel) Reset() { *m = IPTableAddDel{} }
+func (*IPTableAddDel) GetMessageName() string { return "ip_table_add_del" }
+func (*IPTableAddDel) GetCrcString() string { return "0ffdaec0" }
+func (*IPTableAddDel) GetMessageType() api.MessageType { return api.RequestMessage }
-func (*ProxyArpAddDel) GetMessageName() string {
- return "proxy_arp_add_del"
-}
-func (*ProxyArpAddDel) GetCrcString() string {
- return "227988d9"
-}
-func (*ProxyArpAddDel) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// ProxyArpAddDelReply represents VPP binary API message 'proxy_arp_add_del_reply':
-type ProxyArpAddDelReply struct {
- Retval int32
-}
-
-func (*ProxyArpAddDelReply) GetMessageName() string {
- return "proxy_arp_add_del_reply"
-}
-func (*ProxyArpAddDelReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*ProxyArpAddDelReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// ProxyArpDetails represents VPP binary API message 'proxy_arp_details':
-type ProxyArpDetails struct {
- Proxy ProxyArp
-}
-
-func (*ProxyArpDetails) GetMessageName() string {
- return "proxy_arp_details"
-}
-func (*ProxyArpDetails) GetCrcString() string {
- return "9b707c77"
-}
-func (*ProxyArpDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// ProxyArpDump represents VPP binary API message 'proxy_arp_dump':
-type ProxyArpDump struct{}
-
-func (*ProxyArpDump) GetMessageName() string {
- return "proxy_arp_dump"
-}
-func (*ProxyArpDump) GetCrcString() string {
- return "51077d14"
-}
-func (*ProxyArpDump) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// ProxyArpIntfcDetails represents VPP binary API message 'proxy_arp_intfc_details':
-type ProxyArpIntfcDetails struct {
- SwIfIndex uint32
-}
-
-func (*ProxyArpIntfcDetails) GetMessageName() string {
- return "proxy_arp_intfc_details"
-}
-func (*ProxyArpIntfcDetails) GetCrcString() string {
- return "f6458e5f"
-}
-func (*ProxyArpIntfcDetails) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// ProxyArpIntfcDump represents VPP binary API message 'proxy_arp_intfc_dump':
-type ProxyArpIntfcDump struct{}
-
-func (*ProxyArpIntfcDump) GetMessageName() string {
- return "proxy_arp_intfc_dump"
-}
-func (*ProxyArpIntfcDump) GetCrcString() string {
- return "51077d14"
-}
-func (*ProxyArpIntfcDump) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// ProxyArpIntfcEnableDisable represents VPP binary API message 'proxy_arp_intfc_enable_disable':
-type ProxyArpIntfcEnableDisable struct {
- SwIfIndex uint32
- EnableDisable uint8
-}
-
-func (*ProxyArpIntfcEnableDisable) GetMessageName() string {
- return "proxy_arp_intfc_enable_disable"
-}
-func (*ProxyArpIntfcEnableDisable) GetCrcString() string {
- return "69d24598"
-}
-func (*ProxyArpIntfcEnableDisable) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
-
-// ProxyArpIntfcEnableDisableReply represents VPP binary API message 'proxy_arp_intfc_enable_disable_reply':
-type ProxyArpIntfcEnableDisableReply struct {
- Retval int32
-}
-
-func (*ProxyArpIntfcEnableDisableReply) GetMessageName() string {
- return "proxy_arp_intfc_enable_disable_reply"
-}
-func (*ProxyArpIntfcEnableDisableReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*ProxyArpIntfcEnableDisableReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
-
-// ResetFib represents VPP binary API message 'reset_fib':
-type ResetFib struct {
- VrfID uint32
- IsIPv6 uint8
-}
-
-func (*ResetFib) GetMessageName() string {
- return "reset_fib"
-}
-func (*ResetFib) GetCrcString() string {
- return "8553ebd9"
-}
-func (*ResetFib) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (m *IPTableAddDel) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.IsAdd
+ size += 1
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ size += 4
+ // field[2] m.Table.IsIP6
+ size += 1
+ // field[2] m.Table.Name
+ size += 64
+ return size
+}
+func (m *IPTableAddDel) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.IsAdd
+ if m.IsAdd {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ if m.Table.IsIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[2] m.Table.Name
+ copy(buf[pos:pos+64], m.Table.Name)
+ pos += 64
+ return buf, nil
+}
+func (m *IPTableAddDel) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.IsAdd
+ m.IsAdd = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ m.Table.IsIP6 = tmp[pos] != 0
+ pos += 1
+ // field[2] m.Table.Name
+ {
+ nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
+ m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
+ pos += 64
+ }
+ return nil
}
-// ResetFibReply represents VPP binary API message 'reset_fib_reply':
-type ResetFibReply struct {
- Retval int32
+// IPTableAddDelReply represents VPP binary API message 'ip_table_add_del_reply'.
+type IPTableAddDelReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-func (*ResetFibReply) GetMessageName() string {
- return "reset_fib_reply"
-}
-func (*ResetFibReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*ResetFibReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
+func (m *IPTableAddDelReply) Reset() { *m = IPTableAddDelReply{} }
+func (*IPTableAddDelReply) GetMessageName() string { return "ip_table_add_del_reply" }
+func (*IPTableAddDelReply) GetCrcString() string { return "e8d4e804" }
+func (*IPTableAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-// SetArpNeighborLimit represents VPP binary API message 'set_arp_neighbor_limit':
-type SetArpNeighborLimit struct {
- IsIPv6 uint8
- ArpNeighborLimit uint32
+func (m *IPTableAddDelReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IPTableAddDelReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IPTableAddDelReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPTableDetails represents VPP binary API message 'ip_table_details'.
+type IPTableDetails struct {
+ Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
+}
+
+func (m *IPTableDetails) Reset() { *m = IPTableDetails{} }
+func (*IPTableDetails) GetMessageName() string { return "ip_table_details" }
+func (*IPTableDetails) GetCrcString() string { return "c79fca0f" }
+func (*IPTableDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
+
+func (m *IPTableDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ size += 4
+ // field[2] m.Table.IsIP6
+ size += 1
+ // field[2] m.Table.Name
+ size += 64
+ return size
+}
+func (m *IPTableDetails) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ if m.Table.IsIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[2] m.Table.Name
+ copy(buf[pos:pos+64], m.Table.Name)
+ pos += 64
+ return buf, nil
+}
+func (m *IPTableDetails) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ m.Table.IsIP6 = tmp[pos] != 0
+ pos += 1
+ // field[2] m.Table.Name
+ {
+ nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
+ m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
+ pos += 64
+ }
+ return nil
}
-func (*SetArpNeighborLimit) GetMessageName() string {
- return "set_arp_neighbor_limit"
-}
-func (*SetArpNeighborLimit) GetCrcString() string {
- return "97d01fd6"
-}
-func (*SetArpNeighborLimit) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
+// IPTableDump represents VPP binary API message 'ip_table_dump'.
+type IPTableDump struct{}
-// SetArpNeighborLimitReply represents VPP binary API message 'set_arp_neighbor_limit_reply':
-type SetArpNeighborLimitReply struct {
- Retval int32
-}
+func (m *IPTableDump) Reset() { *m = IPTableDump{} }
+func (*IPTableDump) GetMessageName() string { return "ip_table_dump" }
+func (*IPTableDump) GetCrcString() string { return "51077d14" }
+func (*IPTableDump) GetMessageType() api.MessageType { return api.RequestMessage }
-func (*SetArpNeighborLimitReply) GetMessageName() string {
- return "set_arp_neighbor_limit_reply"
-}
-func (*SetArpNeighborLimitReply) GetCrcString() string {
- return "e8d4e804"
+func (m *IPTableDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ return size
+}
+func (m *IPTableDump) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ return buf, nil
}
-func (*SetArpNeighborLimitReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
+func (m *IPTableDump) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ return nil
}
-// SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash':
-type SetIPFlowHash struct {
- VrfID uint32
- IsIPv6 uint8
- Src uint8
- Dst uint8
- Sport uint8
- Dport uint8
- Proto uint8
- Reverse uint8
- Symmetric uint8
+// IPTableFlush represents VPP binary API message 'ip_table_flush'.
+type IPTableFlush struct {
+ Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
}
-func (*SetIPFlowHash) GetMessageName() string {
- return "set_ip_flow_hash"
-}
-func (*SetIPFlowHash) GetCrcString() string {
- return "a9084bfb"
-}
-func (*SetIPFlowHash) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
+func (m *IPTableFlush) Reset() { *m = IPTableFlush{} }
+func (*IPTableFlush) GetMessageName() string { return "ip_table_flush" }
+func (*IPTableFlush) GetCrcString() string { return "b9d2e09e" }
+func (*IPTableFlush) GetMessageType() api.MessageType { return api.RequestMessage }
-// SetIPFlowHashReply represents VPP binary API message 'set_ip_flow_hash_reply':
-type SetIPFlowHashReply struct {
- Retval int32
+func (m *IPTableFlush) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ size += 4
+ // field[2] m.Table.IsIP6
+ size += 1
+ // field[2] m.Table.Name
+ size += 64
+ return size
+}
+func (m *IPTableFlush) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ if m.Table.IsIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[2] m.Table.Name
+ copy(buf[pos:pos+64], m.Table.Name)
+ pos += 64
+ return buf, nil
+}
+func (m *IPTableFlush) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ m.Table.IsIP6 = tmp[pos] != 0
+ pos += 1
+ // field[2] m.Table.Name
+ {
+ nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
+ m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
+ pos += 64
+ }
+ return nil
}
-func (*SetIPFlowHashReply) GetMessageName() string {
- return "set_ip_flow_hash_reply"
-}
-func (*SetIPFlowHashReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*SetIPFlowHashReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
+// IPTableFlushReply represents VPP binary API message 'ip_table_flush_reply'.
+type IPTableFlushReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-// SwInterfaceIP6EnableDisable represents VPP binary API message 'sw_interface_ip6_enable_disable':
-type SwInterfaceIP6EnableDisable struct {
- SwIfIndex uint32
- Enable uint8
-}
+func (m *IPTableFlushReply) Reset() { *m = IPTableFlushReply{} }
+func (*IPTableFlushReply) GetMessageName() string { return "ip_table_flush_reply" }
+func (*IPTableFlushReply) GetCrcString() string { return "e8d4e804" }
+func (*IPTableFlushReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-func (*SwInterfaceIP6EnableDisable) GetMessageName() string {
- return "sw_interface_ip6_enable_disable"
-}
-func (*SwInterfaceIP6EnableDisable) GetCrcString() string {
- return "a36fadc0"
-}
-func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (m *IPTableFlushReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IPTableFlushReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IPTableFlushReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPTableReplaceBegin represents VPP binary API message 'ip_table_replace_begin'.
+type IPTableReplaceBegin struct {
+ Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
+}
+
+func (m *IPTableReplaceBegin) Reset() { *m = IPTableReplaceBegin{} }
+func (*IPTableReplaceBegin) GetMessageName() string { return "ip_table_replace_begin" }
+func (*IPTableReplaceBegin) GetCrcString() string { return "b9d2e09e" }
+func (*IPTableReplaceBegin) GetMessageType() api.MessageType { return api.RequestMessage }
+
+func (m *IPTableReplaceBegin) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ size += 4
+ // field[2] m.Table.IsIP6
+ size += 1
+ // field[2] m.Table.Name
+ size += 64
+ return size
+}
+func (m *IPTableReplaceBegin) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ if m.Table.IsIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[2] m.Table.Name
+ copy(buf[pos:pos+64], m.Table.Name)
+ pos += 64
+ return buf, nil
+}
+func (m *IPTableReplaceBegin) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ m.Table.IsIP6 = tmp[pos] != 0
+ pos += 1
+ // field[2] m.Table.Name
+ {
+ nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
+ m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
+ pos += 64
+ }
+ return nil
}
-// SwInterfaceIP6EnableDisableReply represents VPP binary API message 'sw_interface_ip6_enable_disable_reply':
-type SwInterfaceIP6EnableDisableReply struct {
- Retval int32
+// IPTableReplaceBeginReply represents VPP binary API message 'ip_table_replace_begin_reply'.
+type IPTableReplaceBeginReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string {
- return "sw_interface_ip6_enable_disable_reply"
-}
-func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
+func (m *IPTableReplaceBeginReply) Reset() { *m = IPTableReplaceBeginReply{} }
+func (*IPTableReplaceBeginReply) GetMessageName() string { return "ip_table_replace_begin_reply" }
+func (*IPTableReplaceBeginReply) GetCrcString() string { return "e8d4e804" }
+func (*IPTableReplaceBeginReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-// SwInterfaceIP6ndRaConfig represents VPP binary API message 'sw_interface_ip6nd_ra_config':
-type SwInterfaceIP6ndRaConfig struct {
- SwIfIndex uint32
- Suppress uint8
- Managed uint8
- Other uint8
- LlOption uint8
- SendUnicast uint8
- Cease uint8
- IsNo uint8
- DefaultRouter uint8
- MaxInterval uint32
- MinInterval uint32
- Lifetime uint32
- InitialCount uint32
- InitialInterval uint32
+func (m *IPTableReplaceBeginReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IPTableReplaceBeginReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IPTableReplaceBeginReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPTableReplaceEnd represents VPP binary API message 'ip_table_replace_end'.
+type IPTableReplaceEnd struct {
+ Table IPTable `binapi:"ip_table,name=table" json:"table,omitempty"`
+}
+
+func (m *IPTableReplaceEnd) Reset() { *m = IPTableReplaceEnd{} }
+func (*IPTableReplaceEnd) GetMessageName() string { return "ip_table_replace_end" }
+func (*IPTableReplaceEnd) GetCrcString() string { return "b9d2e09e" }
+func (*IPTableReplaceEnd) GetMessageType() api.MessageType { return api.RequestMessage }
+
+func (m *IPTableReplaceEnd) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ size += 4
+ // field[2] m.Table.IsIP6
+ size += 1
+ // field[2] m.Table.Name
+ size += 64
+ return size
+}
+func (m *IPTableReplaceEnd) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.Table.TableID))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ if m.Table.IsIP6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[2] m.Table.Name
+ copy(buf[pos:pos+64], m.Table.Name)
+ pos += 64
+ return buf, nil
+}
+func (m *IPTableReplaceEnd) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Table
+ // field[2] m.Table.TableID
+ m.Table.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[2] m.Table.IsIP6
+ m.Table.IsIP6 = tmp[pos] != 0
+ pos += 1
+ // field[2] m.Table.Name
+ {
+ nul := bytes.Index(tmp[pos:pos+64], []byte{0x00})
+ m.Table.Name = codec.DecodeString(tmp[pos : pos+nul])
+ pos += 64
+ }
+ return nil
}
-func (*SwInterfaceIP6ndRaConfig) GetMessageName() string {
- return "sw_interface_ip6nd_ra_config"
-}
-func (*SwInterfaceIP6ndRaConfig) GetCrcString() string {
- return "c3f02daa"
-}
-func (*SwInterfaceIP6ndRaConfig) GetMessageType() api.MessageType {
- return api.RequestMessage
+// IPTableReplaceEndReply represents VPP binary API message 'ip_table_replace_end_reply'.
+type IPTableReplaceEndReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-// SwInterfaceIP6ndRaConfigReply represents VPP binary API message 'sw_interface_ip6nd_ra_config_reply':
-type SwInterfaceIP6ndRaConfigReply struct {
- Retval int32
-}
+func (m *IPTableReplaceEndReply) Reset() { *m = IPTableReplaceEndReply{} }
+func (*IPTableReplaceEndReply) GetMessageName() string { return "ip_table_replace_end_reply" }
+func (*IPTableReplaceEndReply) GetCrcString() string { return "e8d4e804" }
+func (*IPTableReplaceEndReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-func (*SwInterfaceIP6ndRaConfigReply) GetMessageName() string {
- return "sw_interface_ip6nd_ra_config_reply"
-}
-func (*SwInterfaceIP6ndRaConfigReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*SwInterfaceIP6ndRaConfigReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
+func (m *IPTableReplaceEndReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *IPTableReplaceEndReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *IPTableReplaceEndReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPUnnumberedDetails represents VPP binary API message 'ip_unnumbered_details'.
+type IPUnnumberedDetails struct {
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ IPSwIfIndex InterfaceIndex `binapi:"interface_index,name=ip_sw_if_index" json:"ip_sw_if_index,omitempty"`
}
-// SwInterfaceIP6ndRaPrefix represents VPP binary API message 'sw_interface_ip6nd_ra_prefix':
-type SwInterfaceIP6ndRaPrefix struct {
- SwIfIndex uint32
- Prefix Prefix
- UseDefault uint8
- NoAdvertise uint8
- OffLink uint8
- NoAutoconfig uint8
- NoOnlink uint8
- IsNo uint8
- ValLifetime uint32
- PrefLifetime uint32
-}
+func (m *IPUnnumberedDetails) Reset() { *m = IPUnnumberedDetails{} }
+func (*IPUnnumberedDetails) GetMessageName() string { return "ip_unnumbered_details" }
+func (*IPUnnumberedDetails) GetCrcString() string { return "aa12a483" }
+func (*IPUnnumberedDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
-func (*SwInterfaceIP6ndRaPrefix) GetMessageName() string {
- return "sw_interface_ip6nd_ra_prefix"
-}
-func (*SwInterfaceIP6ndRaPrefix) GetCrcString() string {
- return "59934d3b"
-}
-func (*SwInterfaceIP6ndRaPrefix) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (m *IPUnnumberedDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.SwIfIndex
+ size += 4
+ // field[1] m.IPSwIfIndex
+ size += 4
+ return size
+}
+func (m *IPUnnumberedDetails) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ // field[1] m.IPSwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.IPSwIfIndex))
+ pos += 4
+ return buf, nil
+}
+func (m *IPUnnumberedDetails) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.IPSwIfIndex
+ m.IPSwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// IPUnnumberedDump represents VPP binary API message 'ip_unnumbered_dump'.
+type IPUnnumberedDump struct {
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" json:"sw_if_index,omitempty"`
}
-// SwInterfaceIP6ndRaPrefixReply represents VPP binary API message 'sw_interface_ip6nd_ra_prefix_reply':
-type SwInterfaceIP6ndRaPrefixReply struct {
- Retval int32
-}
+func (m *IPUnnumberedDump) Reset() { *m = IPUnnumberedDump{} }
+func (*IPUnnumberedDump) GetMessageName() string { return "ip_unnumbered_dump" }
+func (*IPUnnumberedDump) GetCrcString() string { return "f9e6675e" }
+func (*IPUnnumberedDump) GetMessageType() api.MessageType { return api.RequestMessage }
-func (*SwInterfaceIP6ndRaPrefixReply) GetMessageName() string {
- return "sw_interface_ip6nd_ra_prefix_reply"
-}
-func (*SwInterfaceIP6ndRaPrefixReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*SwInterfaceIP6ndRaPrefixReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
+func (m *IPUnnumberedDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.SwIfIndex
+ size += 4
+ return size
+}
+func (m *IPUnnumberedDump) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ return buf, nil
+}
+func (m *IPUnnumberedDump) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// MfibSignalDetails represents VPP binary API message 'mfib_signal_details'.
+type MfibSignalDetails struct {
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
+ Prefix Mprefix `binapi:"mprefix,name=prefix" json:"prefix,omitempty"`
+ IPPacketLen uint16 `binapi:"u16,name=ip_packet_len" json:"ip_packet_len,omitempty"`
+ IPPacketData []byte `binapi:"u8[256],name=ip_packet_data" json:"ip_packet_data,omitempty" struc:"[256]byte"`
}
-// WantIP4ArpEvents represents VPP binary API message 'want_ip4_arp_events':
-type WantIP4ArpEvents struct {
- EnableDisable uint8
- PID uint32
- IP IP4Address
-}
+func (m *MfibSignalDetails) Reset() { *m = MfibSignalDetails{} }
+func (*MfibSignalDetails) GetMessageName() string { return "mfib_signal_details" }
+func (*MfibSignalDetails) GetCrcString() string { return "64398a9a" }
+func (*MfibSignalDetails) GetMessageType() api.MessageType { return api.ReplyMessage }
-func (*WantIP4ArpEvents) GetMessageName() string {
- return "want_ip4_arp_events"
-}
-func (*WantIP4ArpEvents) GetCrcString() string {
- return "70fd7195"
-}
-func (*WantIP4ArpEvents) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (m *MfibSignalDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.SwIfIndex
+ size += 4
+ // field[1] m.TableID
+ size += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Af
+ size += 1
+ // field[2] m.Prefix.GrpAddressLength
+ size += 2
+ // field[2] m.Prefix.GrpAddress
+ size += 16
+ // field[2] m.Prefix.SrcAddress
+ size += 16
+ // field[1] m.IPPacketLen
+ size += 2
+ // field[1] m.IPPacketData
+ size += 256
+ return size
+}
+func (m *MfibSignalDetails) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ // field[1] m.TableID
+ o.PutUint32(buf[pos:pos+4], uint32(m.TableID))
+ pos += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Af
+ buf[pos] = uint8(m.Prefix.Af)
+ pos += 1
+ // field[2] m.Prefix.GrpAddressLength
+ o.PutUint16(buf[pos:pos+2], uint16(m.Prefix.GrpAddressLength))
+ pos += 2
+ // field[2] m.Prefix.GrpAddress
+ copy(buf[pos:pos+16], m.Prefix.GrpAddress.XXX_UnionData[:])
+ pos += 16
+ // field[2] m.Prefix.SrcAddress
+ copy(buf[pos:pos+16], m.Prefix.SrcAddress.XXX_UnionData[:])
+ pos += 16
+ // field[1] m.IPPacketLen
+ o.PutUint16(buf[pos:pos+2], uint16(m.IPPacketLen))
+ pos += 2
+ // field[1] m.IPPacketData
+ for i := 0; i < 256; i++ {
+ var x uint8
+ if i < len(m.IPPacketData) {
+ x = uint8(m.IPPacketData[i])
+ }
+ buf[pos] = uint8(x)
+ pos += 1
+ }
+ return buf, nil
+}
+func (m *MfibSignalDetails) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.TableID
+ m.TableID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.Prefix
+ // field[2] m.Prefix.Af
+ m.Prefix.Af = AddressFamily(tmp[pos])
+ pos += 1
+ // field[2] m.Prefix.GrpAddressLength
+ m.Prefix.GrpAddressLength = uint16(o.Uint16(tmp[pos : pos+2]))
+ pos += 2
+ // field[2] m.Prefix.GrpAddress
+ copy(m.Prefix.GrpAddress.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[2] m.Prefix.SrcAddress
+ copy(m.Prefix.SrcAddress.XXX_UnionData[:], tmp[pos:pos+16])
+ pos += 16
+ // field[1] m.IPPacketLen
+ m.IPPacketLen = uint16(o.Uint16(tmp[pos : pos+2]))
+ pos += 2
+ // field[1] m.IPPacketData
+ m.IPPacketData = make([]uint8, 256)
+ for i := 0; i < len(m.IPPacketData); i++ {
+ m.IPPacketData[i] = uint8(tmp[pos])
+ pos += 1
+ }
+ return nil
}
-// WantIP4ArpEventsReply represents VPP binary API message 'want_ip4_arp_events_reply':
-type WantIP4ArpEventsReply struct {
- Retval int32
-}
+// MfibSignalDump represents VPP binary API message 'mfib_signal_dump'.
+type MfibSignalDump struct{}
-func (*WantIP4ArpEventsReply) GetMessageName() string {
- return "want_ip4_arp_events_reply"
-}
-func (*WantIP4ArpEventsReply) GetCrcString() string {
- return "e8d4e804"
+func (m *MfibSignalDump) Reset() { *m = MfibSignalDump{} }
+func (*MfibSignalDump) GetMessageName() string { return "mfib_signal_dump" }
+func (*MfibSignalDump) GetCrcString() string { return "51077d14" }
+func (*MfibSignalDump) GetMessageType() api.MessageType { return api.RequestMessage }
+
+func (m *MfibSignalDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ return size
+}
+func (m *MfibSignalDump) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ return buf, nil
}
-func (*WantIP4ArpEventsReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
+func (m *MfibSignalDump) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ return nil
}
-// WantIP6NdEvents represents VPP binary API message 'want_ip6_nd_events':
-type WantIP6NdEvents struct {
- EnableDisable uint8
- PID uint32
- IP IP6Address
+// SetIPFlowHash represents VPP binary API message 'set_ip_flow_hash'.
+type SetIPFlowHash struct {
+ VrfID uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
+ IsIPv6 bool `binapi:"bool,name=is_ipv6" json:"is_ipv6,omitempty"`
+ Src bool `binapi:"bool,name=src" json:"src,omitempty"`
+ Dst bool `binapi:"bool,name=dst" json:"dst,omitempty"`
+ Sport bool `binapi:"bool,name=sport" json:"sport,omitempty"`
+ Dport bool `binapi:"bool,name=dport" json:"dport,omitempty"`
+ Proto bool `binapi:"bool,name=proto" json:"proto,omitempty"`
+ Reverse bool `binapi:"bool,name=reverse" json:"reverse,omitempty"`
+ Symmetric bool `binapi:"bool,name=symmetric" json:"symmetric,omitempty"`
+}
+
+func (m *SetIPFlowHash) Reset() { *m = SetIPFlowHash{} }
+func (*SetIPFlowHash) GetMessageName() string { return "set_ip_flow_hash" }
+func (*SetIPFlowHash) GetCrcString() string { return "084ee09e" }
+func (*SetIPFlowHash) GetMessageType() api.MessageType { return api.RequestMessage }
+
+func (m *SetIPFlowHash) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.VrfID
+ size += 4
+ // field[1] m.IsIPv6
+ size += 1
+ // field[1] m.Src
+ size += 1
+ // field[1] m.Dst
+ size += 1
+ // field[1] m.Sport
+ size += 1
+ // field[1] m.Dport
+ size += 1
+ // field[1] m.Proto
+ size += 1
+ // field[1] m.Reverse
+ size += 1
+ // field[1] m.Symmetric
+ size += 1
+ return size
+}
+func (m *SetIPFlowHash) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.VrfID
+ o.PutUint32(buf[pos:pos+4], uint32(m.VrfID))
+ pos += 4
+ // field[1] m.IsIPv6
+ if m.IsIPv6 {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Src
+ if m.Src {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Dst
+ if m.Dst {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Sport
+ if m.Sport {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Dport
+ if m.Dport {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Proto
+ if m.Proto {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Reverse
+ if m.Reverse {
+ buf[pos] = 1
+ }
+ pos += 1
+ // field[1] m.Symmetric
+ if m.Symmetric {
+ buf[pos] = 1
+ }
+ pos += 1
+ return buf, nil
+}
+func (m *SetIPFlowHash) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.VrfID
+ m.VrfID = uint32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.IsIPv6
+ m.IsIPv6 = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Src
+ m.Src = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Dst
+ m.Dst = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Sport
+ m.Sport = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Dport
+ m.Dport = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Proto
+ m.Proto = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Reverse
+ m.Reverse = tmp[pos] != 0
+ pos += 1
+ // field[1] m.Symmetric
+ m.Symmetric = tmp[pos] != 0
+ pos += 1
+ return nil
+}
+
+// SetIPFlowHashReply represents VPP binary API message 'set_ip_flow_hash_reply'.
+type SetIPFlowHashReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-func (*WantIP6NdEvents) GetMessageName() string {
- return "want_ip6_nd_events"
-}
-func (*WantIP6NdEvents) GetCrcString() string {
- return "ba330719"
-}
-func (*WantIP6NdEvents) GetMessageType() api.MessageType {
- return api.RequestMessage
-}
+func (m *SetIPFlowHashReply) Reset() { *m = SetIPFlowHashReply{} }
+func (*SetIPFlowHashReply) GetMessageName() string { return "set_ip_flow_hash_reply" }
+func (*SetIPFlowHashReply) GetCrcString() string { return "e8d4e804" }
+func (*SetIPFlowHashReply) GetMessageType() api.MessageType { return api.ReplyMessage }
-// WantIP6NdEventsReply represents VPP binary API message 'want_ip6_nd_events_reply':
-type WantIP6NdEventsReply struct {
- Retval int32
+func (m *SetIPFlowHashReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *SetIPFlowHashReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *SetIPFlowHashReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// SwInterfaceIP6EnableDisable represents VPP binary API message 'sw_interface_ip6_enable_disable'.
+type SwInterfaceIP6EnableDisable struct {
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"`
}
-func (*WantIP6NdEventsReply) GetMessageName() string {
- return "want_ip6_nd_events_reply"
-}
-func (*WantIP6NdEventsReply) GetCrcString() string {
- return "e8d4e804"
-}
-func (*WantIP6NdEventsReply) GetMessageType() api.MessageType {
- return api.ReplyMessage
-}
+func (m *SwInterfaceIP6EnableDisable) Reset() { *m = SwInterfaceIP6EnableDisable{} }
+func (*SwInterfaceIP6EnableDisable) GetMessageName() string { return "sw_interface_ip6_enable_disable" }
+func (*SwInterfaceIP6EnableDisable) GetCrcString() string { return "ae6cfcfb" }
+func (*SwInterfaceIP6EnableDisable) GetMessageType() api.MessageType { return api.RequestMessage }
-// WantIP6RaEvents represents VPP binary API message 'want_ip6_ra_events':
-type WantIP6RaEvents struct {
- EnableDisable uint8
- PID uint32
+func (m *SwInterfaceIP6EnableDisable) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.SwIfIndex
+ size += 4
+ // field[1] m.Enable
+ size += 1
+ return size
+}
+func (m *SwInterfaceIP6EnableDisable) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ // field[1] m.Enable
+ if m.Enable {
+ buf[pos] = 1
+ }
+ pos += 1
+ return buf, nil
+}
+func (m *SwInterfaceIP6EnableDisable) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.Enable
+ m.Enable = tmp[pos] != 0
+ pos += 1
+ return nil
+}
+
+// SwInterfaceIP6EnableDisableReply represents VPP binary API message 'sw_interface_ip6_enable_disable_reply'.
+type SwInterfaceIP6EnableDisableReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-func (*WantIP6RaEvents) GetMessageName() string {
- return "want_ip6_ra_events"
-}
-func (*WantIP6RaEvents) GetCrcString() string {
- return "05b454b5"
+func (m *SwInterfaceIP6EnableDisableReply) Reset() { *m = SwInterfaceIP6EnableDisableReply{} }
+func (*SwInterfaceIP6EnableDisableReply) GetMessageName() string {
+ return "sw_interface_ip6_enable_disable_reply"
}
-func (*WantIP6RaEvents) GetMessageType() api.MessageType {
- return api.RequestMessage
+func (*SwInterfaceIP6EnableDisableReply) GetCrcString() string { return "e8d4e804" }
+func (*SwInterfaceIP6EnableDisableReply) GetMessageType() api.MessageType { return api.ReplyMessage }
+
+func (m *SwInterfaceIP6EnableDisableReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *SwInterfaceIP6EnableDisableReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *SwInterfaceIP6EnableDisableReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+// SwInterfaceIP6SetLinkLocalAddress represents VPP binary API message 'sw_interface_ip6_set_link_local_address'.
+type SwInterfaceIP6SetLinkLocalAddress struct {
+ SwIfIndex InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ IP IP6Address `binapi:"ip6_address,name=ip" json:"ip,omitempty"`
+}
+
+func (m *SwInterfaceIP6SetLinkLocalAddress) Reset() { *m = SwInterfaceIP6SetLinkLocalAddress{} }
+func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageName() string {
+ return "sw_interface_ip6_set_link_local_address"
+}
+func (*SwInterfaceIP6SetLinkLocalAddress) GetCrcString() string { return "2931d9fa" }
+func (*SwInterfaceIP6SetLinkLocalAddress) GetMessageType() api.MessageType { return api.RequestMessage }
+
+func (m *SwInterfaceIP6SetLinkLocalAddress) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.SwIfIndex
+ size += 4
+ // field[1] m.IP
+ size += 16
+ return size
+}
+func (m *SwInterfaceIP6SetLinkLocalAddress) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.SwIfIndex
+ o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex))
+ pos += 4
+ // field[1] m.IP
+ for i := 0; i < 16; i++ {
+ var x uint8
+ if i < len(m.IP) {
+ x = uint8(m.IP[i])
+ }
+ buf[pos] = uint8(x)
+ pos += 1
+ }
+ return buf, nil
+}
+func (m *SwInterfaceIP6SetLinkLocalAddress) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.SwIfIndex
+ m.SwIfIndex = InterfaceIndex(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ // field[1] m.IP
+ for i := 0; i < len(m.IP); i++ {
+ m.IP[i] = uint8(tmp[pos])
+ pos += 1
+ }
+ return nil
}
-// WantIP6RaEventsReply represents VPP binary API message 'want_ip6_ra_events_reply':
-type WantIP6RaEventsReply struct {
- Retval int32
+// SwInterfaceIP6SetLinkLocalAddressReply represents VPP binary API message 'sw_interface_ip6_set_link_local_address_reply'.
+type SwInterfaceIP6SetLinkLocalAddressReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}
-func (*WantIP6RaEventsReply) GetMessageName() string {
- return "want_ip6_ra_events_reply"
+func (m *SwInterfaceIP6SetLinkLocalAddressReply) Reset() {
+ *m = SwInterfaceIP6SetLinkLocalAddressReply{}
}
-func (*WantIP6RaEventsReply) GetCrcString() string {
- return "e8d4e804"
+func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageName() string {
+ return "sw_interface_ip6_set_link_local_address_reply"
}
-func (*WantIP6RaEventsReply) GetMessageType() api.MessageType {
+func (*SwInterfaceIP6SetLinkLocalAddressReply) GetCrcString() string { return "e8d4e804" }
+func (*SwInterfaceIP6SetLinkLocalAddressReply) GetMessageType() api.MessageType {
return api.ReplyMessage
}
-func init() {
+func (m *SwInterfaceIP6SetLinkLocalAddressReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ // field[1] m.Retval
+ size += 4
+ return size
+}
+func (m *SwInterfaceIP6SetLinkLocalAddressReply) Marshal(b []byte) ([]byte, error) {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ var buf []byte
+ if b == nil {
+ buf = make([]byte, m.Size())
+ } else {
+ buf = b
+ }
+ // field[1] m.Retval
+ o.PutUint32(buf[pos:pos+4], uint32(m.Retval))
+ pos += 4
+ return buf, nil
+}
+func (m *SwInterfaceIP6SetLinkLocalAddressReply) Unmarshal(tmp []byte) error {
+ o := binary.BigEndian
+ _ = o
+ pos := 0
+ _ = pos
+ // field[1] m.Retval
+ m.Retval = int32(o.Uint32(tmp[pos : pos+4]))
+ pos += 4
+ return nil
+}
+
+func init() { file_ip_binapi_init() }
+func file_ip_binapi_init() {
api.RegisterMessage((*IoamDisable)(nil), "ip.IoamDisable")
api.RegisterMessage((*IoamDisableReply)(nil), "ip.IoamDisableReply")
api.RegisterMessage((*IoamEnable)(nil), "ip.IoamEnable")
api.RegisterMessage((*IoamEnableReply)(nil), "ip.IoamEnableReply")
- api.RegisterMessage((*IP4ArpEvent)(nil), "ip.IP4ArpEvent")
- api.RegisterMessage((*IP6FibDetails)(nil), "ip.IP6FibDetails")
- api.RegisterMessage((*IP6FibDump)(nil), "ip.IP6FibDump")
- api.RegisterMessage((*IP6MfibDetails)(nil), "ip.IP6MfibDetails")
- api.RegisterMessage((*IP6MfibDump)(nil), "ip.IP6MfibDump")
- api.RegisterMessage((*IP6NdEvent)(nil), "ip.IP6NdEvent")
- api.RegisterMessage((*IP6RaEvent)(nil), "ip.IP6RaEvent")
- api.RegisterMessage((*IP6ndProxyAddDel)(nil), "ip.IP6ndProxyAddDel")
- api.RegisterMessage((*IP6ndProxyAddDelReply)(nil), "ip.IP6ndProxyAddDelReply")
- api.RegisterMessage((*IP6ndProxyDetails)(nil), "ip.IP6ndProxyDetails")
- api.RegisterMessage((*IP6ndProxyDump)(nil), "ip.IP6ndProxyDump")
- api.RegisterMessage((*IP6ndSendRouterSolicitation)(nil), "ip.IP6ndSendRouterSolicitation")
- api.RegisterMessage((*IP6ndSendRouterSolicitationReply)(nil), "ip.IP6ndSendRouterSolicitationReply")
- api.RegisterMessage((*IPAddDelRoute)(nil), "ip.IPAddDelRoute")
- api.RegisterMessage((*IPAddDelRouteReply)(nil), "ip.IPAddDelRouteReply")
api.RegisterMessage((*IPAddressDetails)(nil), "ip.IPAddressDetails")
api.RegisterMessage((*IPAddressDump)(nil), "ip.IPAddressDump")
api.RegisterMessage((*IPContainerProxyAddDel)(nil), "ip.IPContainerProxyAddDel")
api.RegisterMessage((*IPContainerProxyDump)(nil), "ip.IPContainerProxyDump")
api.RegisterMessage((*IPDetails)(nil), "ip.IPDetails")
api.RegisterMessage((*IPDump)(nil), "ip.IPDump")
- api.RegisterMessage((*IPFibDetails)(nil), "ip.IPFibDetails")
- api.RegisterMessage((*IPFibDump)(nil), "ip.IPFibDump")
- api.RegisterMessage((*IPMfibDetails)(nil), "ip.IPMfibDetails")
- api.RegisterMessage((*IPMfibDump)(nil), "ip.IPMfibDump")
api.RegisterMessage((*IPMrouteAddDel)(nil), "ip.IPMrouteAddDel")
api.RegisterMessage((*IPMrouteAddDelReply)(nil), "ip.IPMrouteAddDelReply")
- api.RegisterMessage((*IPNeighborAddDel)(nil), "ip.IPNeighborAddDel")
- api.RegisterMessage((*IPNeighborAddDelReply)(nil), "ip.IPNeighborAddDelReply")
- api.RegisterMessage((*IPNeighborDetails)(nil), "ip.IPNeighborDetails")
- api.RegisterMessage((*IPNeighborDump)(nil), "ip.IPNeighborDump")
- api.RegisterMessage((*IPProbeNeighbor)(nil), "ip.IPProbeNeighbor")
- api.RegisterMessage((*IPProbeNeighborReply)(nil), "ip.IPProbeNeighborReply")
+ api.RegisterMessage((*IPMrouteDetails)(nil), "ip.IPMrouteDetails")
+ api.RegisterMessage((*IPMrouteDump)(nil), "ip.IPMrouteDump")
+ api.RegisterMessage((*IPMtableDetails)(nil), "ip.IPMtableDetails")
+ api.RegisterMessage((*IPMtableDump)(nil), "ip.IPMtableDump")
api.RegisterMessage((*IPPuntPolice)(nil), "ip.IPPuntPolice")
api.RegisterMessage((*IPPuntPoliceReply)(nil), "ip.IPPuntPoliceReply")
api.RegisterMessage((*IPPuntRedirect)(nil), "ip.IPPuntRedirect")
api.RegisterMessage((*IPReassemblyGetReply)(nil), "ip.IPReassemblyGetReply")
api.RegisterMessage((*IPReassemblySet)(nil), "ip.IPReassemblySet")
api.RegisterMessage((*IPReassemblySetReply)(nil), "ip.IPReassemblySetReply")
- api.RegisterMessage((*IPScanNeighborEnableDisable)(nil), "ip.IPScanNeighborEnableDisable")
- api.RegisterMessage((*IPScanNeighborEnableDisableReply)(nil), "ip.IPScanNeighborEnableDisableReply")
+ api.RegisterMessage((*IPRouteAddDel)(nil), "ip.IPRouteAddDel")
+ api.RegisterMessage((*IPRouteAddDelReply)(nil), "ip.IPRouteAddDelReply")
+ api.RegisterMessage((*IPRouteDetails)(nil), "ip.IPRouteDetails")
+ api.RegisterMessage((*IPRouteDump)(nil), "ip.IPRouteDump")
+ api.RegisterMessage((*IPRouteLookup)(nil), "ip.IPRouteLookup")
+ api.RegisterMessage((*IPRouteLookupReply)(nil), "ip.IPRouteLookupReply")
api.RegisterMessage((*IPSourceAndPortRangeCheckAddDel)(nil), "ip.IPSourceAndPortRangeCheckAddDel")
api.RegisterMessage((*IPSourceAndPortRangeCheckAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckAddDelReply")
api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDel)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDel")
api.RegisterMessage((*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil), "ip.IPSourceAndPortRangeCheckInterfaceAddDelReply")
- api.RegisterMessage((*IPSourceCheckInterfaceAddDel)(nil), "ip.IPSourceCheckInterfaceAddDel")
- api.RegisterMessage((*IPSourceCheckInterfaceAddDelReply)(nil), "ip.IPSourceCheckInterfaceAddDelReply")
api.RegisterMessage((*IPTableAddDel)(nil), "ip.IPTableAddDel")
api.RegisterMessage((*IPTableAddDelReply)(nil), "ip.IPTableAddDelReply")
+ api.RegisterMessage((*IPTableDetails)(nil), "ip.IPTableDetails")
+ api.RegisterMessage((*IPTableDump)(nil), "ip.IPTableDump")
+ api.RegisterMessage((*IPTableFlush)(nil), "ip.IPTableFlush")
+ api.RegisterMessage((*IPTableFlushReply)(nil), "ip.IPTableFlushReply")
+ api.RegisterMessage((*IPTableReplaceBegin)(nil), "ip.IPTableReplaceBegin")
+ api.RegisterMessage((*IPTableReplaceBeginReply)(nil), "ip.IPTableReplaceBeginReply")
+ api.RegisterMessage((*IPTableReplaceEnd)(nil), "ip.IPTableReplaceEnd")
+ api.RegisterMessage((*IPTableReplaceEndReply)(nil), "ip.IPTableReplaceEndReply")
api.RegisterMessage((*IPUnnumberedDetails)(nil), "ip.IPUnnumberedDetails")
api.RegisterMessage((*IPUnnumberedDump)(nil), "ip.IPUnnumberedDump")
api.RegisterMessage((*MfibSignalDetails)(nil), "ip.MfibSignalDetails")
api.RegisterMessage((*MfibSignalDump)(nil), "ip.MfibSignalDump")
- api.RegisterMessage((*ProxyArpAddDel)(nil), "ip.ProxyArpAddDel")
- api.RegisterMessage((*ProxyArpAddDelReply)(nil), "ip.ProxyArpAddDelReply")
- api.RegisterMessage((*ProxyArpDetails)(nil), "ip.ProxyArpDetails")
- api.RegisterMessage((*ProxyArpDump)(nil), "ip.ProxyArpDump")
- api.RegisterMessage((*ProxyArpIntfcDetails)(nil), "ip.ProxyArpIntfcDetails")
- api.RegisterMessage((*ProxyArpIntfcDump)(nil), "ip.ProxyArpIntfcDump")
- api.RegisterMessage((*ProxyArpIntfcEnableDisable)(nil), "ip.ProxyArpIntfcEnableDisable")
- api.RegisterMessage((*ProxyArpIntfcEnableDisableReply)(nil), "ip.ProxyArpIntfcEnableDisableReply")
- api.RegisterMessage((*ResetFib)(nil), "ip.ResetFib")
- api.RegisterMessage((*ResetFibReply)(nil), "ip.ResetFibReply")
- api.RegisterMessage((*SetArpNeighborLimit)(nil), "ip.SetArpNeighborLimit")
- api.RegisterMessage((*SetArpNeighborLimitReply)(nil), "ip.SetArpNeighborLimitReply")
api.RegisterMessage((*SetIPFlowHash)(nil), "ip.SetIPFlowHash")
api.RegisterMessage((*SetIPFlowHashReply)(nil), "ip.SetIPFlowHashReply")
api.RegisterMessage((*SwInterfaceIP6EnableDisable)(nil), "ip.SwInterfaceIP6EnableDisable")
api.RegisterMessage((*SwInterfaceIP6EnableDisableReply)(nil), "ip.SwInterfaceIP6EnableDisableReply")
- api.RegisterMessage((*SwInterfaceIP6ndRaConfig)(nil), "ip.SwInterfaceIP6ndRaConfig")
- api.RegisterMessage((*SwInterfaceIP6ndRaConfigReply)(nil), "ip.SwInterfaceIP6ndRaConfigReply")
- api.RegisterMessage((*SwInterfaceIP6ndRaPrefix)(nil), "ip.SwInterfaceIP6ndRaPrefix")
- api.RegisterMessage((*SwInterfaceIP6ndRaPrefixReply)(nil), "ip.SwInterfaceIP6ndRaPrefixReply")
- api.RegisterMessage((*WantIP4ArpEvents)(nil), "ip.WantIP4ArpEvents")
- api.RegisterMessage((*WantIP4ArpEventsReply)(nil), "ip.WantIP4ArpEventsReply")
- api.RegisterMessage((*WantIP6NdEvents)(nil), "ip.WantIP6NdEvents")
- api.RegisterMessage((*WantIP6NdEventsReply)(nil), "ip.WantIP6NdEventsReply")
- api.RegisterMessage((*WantIP6RaEvents)(nil), "ip.WantIP6RaEvents")
- api.RegisterMessage((*WantIP6RaEventsReply)(nil), "ip.WantIP6RaEventsReply")
+ api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddress)(nil), "ip.SwInterfaceIP6SetLinkLocalAddress")
+ api.RegisterMessage((*SwInterfaceIP6SetLinkLocalAddressReply)(nil), "ip.SwInterfaceIP6SetLinkLocalAddressReply")
}
// Messages returns list of all messages in this module.
(*IoamDisableReply)(nil),
(*IoamEnable)(nil),
(*IoamEnableReply)(nil),
- (*IP4ArpEvent)(nil),
- (*IP6FibDetails)(nil),
- (*IP6FibDump)(nil),
- (*IP6MfibDetails)(nil),
- (*IP6MfibDump)(nil),
- (*IP6NdEvent)(nil),
- (*IP6RaEvent)(nil),
- (*IP6ndProxyAddDel)(nil),
- (*IP6ndProxyAddDelReply)(nil),
- (*IP6ndProxyDetails)(nil),
- (*IP6ndProxyDump)(nil),
- (*IP6ndSendRouterSolicitation)(nil),
- (*IP6ndSendRouterSolicitationReply)(nil),
- (*IPAddDelRoute)(nil),
- (*IPAddDelRouteReply)(nil),
(*IPAddressDetails)(nil),
(*IPAddressDump)(nil),
(*IPContainerProxyAddDel)(nil),
(*IPContainerProxyDump)(nil),
(*IPDetails)(nil),
(*IPDump)(nil),
- (*IPFibDetails)(nil),
- (*IPFibDump)(nil),
- (*IPMfibDetails)(nil),
- (*IPMfibDump)(nil),
(*IPMrouteAddDel)(nil),
(*IPMrouteAddDelReply)(nil),
- (*IPNeighborAddDel)(nil),
- (*IPNeighborAddDelReply)(nil),
- (*IPNeighborDetails)(nil),
- (*IPNeighborDump)(nil),
- (*IPProbeNeighbor)(nil),
- (*IPProbeNeighborReply)(nil),
+ (*IPMrouteDetails)(nil),
+ (*IPMrouteDump)(nil),
+ (*IPMtableDetails)(nil),
+ (*IPMtableDump)(nil),
(*IPPuntPolice)(nil),
(*IPPuntPoliceReply)(nil),
(*IPPuntRedirect)(nil),
(*IPReassemblyGetReply)(nil),
(*IPReassemblySet)(nil),
(*IPReassemblySetReply)(nil),
- (*IPScanNeighborEnableDisable)(nil),
- (*IPScanNeighborEnableDisableReply)(nil),
+ (*IPRouteAddDel)(nil),
+ (*IPRouteAddDelReply)(nil),
+ (*IPRouteDetails)(nil),
+ (*IPRouteDump)(nil),
+ (*IPRouteLookup)(nil),
+ (*IPRouteLookupReply)(nil),
(*IPSourceAndPortRangeCheckAddDel)(nil),
(*IPSourceAndPortRangeCheckAddDelReply)(nil),
(*IPSourceAndPortRangeCheckInterfaceAddDel)(nil),
(*IPSourceAndPortRangeCheckInterfaceAddDelReply)(nil),
- (*IPSourceCheckInterfaceAddDel)(nil),
- (*IPSourceCheckInterfaceAddDelReply)(nil),
(*IPTableAddDel)(nil),
(*IPTableAddDelReply)(nil),
+ (*IPTableDetails)(nil),
+ (*IPTableDump)(nil),
+ (*IPTableFlush)(nil),
+ (*IPTableFlushReply)(nil),
+ (*IPTableReplaceBegin)(nil),
+ (*IPTableReplaceBeginReply)(nil),
+ (*IPTableReplaceEnd)(nil),
+ (*IPTableReplaceEndReply)(nil),
(*IPUnnumberedDetails)(nil),
(*IPUnnumberedDump)(nil),
(*MfibSignalDetails)(nil),
(*MfibSignalDump)(nil),
- (*ProxyArpAddDel)(nil),
- (*ProxyArpAddDelReply)(nil),
- (*ProxyArpDetails)(nil),
- (*ProxyArpDump)(nil),
- (*ProxyArpIntfcDetails)(nil),
- (*ProxyArpIntfcDump)(nil),
- (*ProxyArpIntfcEnableDisable)(nil),
- (*ProxyArpIntfcEnableDisableReply)(nil),
- (*ResetFib)(nil),
- (*ResetFibReply)(nil),
- (*SetArpNeighborLimit)(nil),
- (*SetArpNeighborLimitReply)(nil),
(*SetIPFlowHash)(nil),
(*SetIPFlowHashReply)(nil),
(*SwInterfaceIP6EnableDisable)(nil),
(*SwInterfaceIP6EnableDisableReply)(nil),
- (*SwInterfaceIP6ndRaConfig)(nil),
- (*SwInterfaceIP6ndRaConfigReply)(nil),
- (*SwInterfaceIP6ndRaPrefix)(nil),
- (*SwInterfaceIP6ndRaPrefixReply)(nil),
- (*WantIP4ArpEvents)(nil),
- (*WantIP4ArpEventsReply)(nil),
- (*WantIP6NdEvents)(nil),
- (*WantIP6NdEventsReply)(nil),
- (*WantIP6RaEvents)(nil),
- (*WantIP6RaEventsReply)(nil),
- }
-}
-
-// Service represents VPP binary API services in ip module.
-type Service interface {
- DumpIP6Fib(ctx context.Context, in *IP6FibDump) ([]*IP6FibDetails, error)
- DumpIP6Mfib(ctx context.Context, in *IP6MfibDump) ([]*IP6MfibDetails, error)
- DumpIP6ndProxy(ctx context.Context, in *IP6ndProxyDump) ([]*IP6ndProxyDetails, error)
- DumpIPAddress(ctx context.Context, in *IPAddressDump) ([]*IPAddressDetails, error)
- DumpIPContainerProxy(ctx context.Context, in *IPContainerProxyDump) ([]*IPContainerProxyDetails, error)
- DumpIP(ctx context.Context, in *IPDump) ([]*IPDetails, error)
- DumpIPFib(ctx context.Context, in *IPFibDump) ([]*IPFibDetails, error)
- DumpIPMfib(ctx context.Context, in *IPMfibDump) ([]*IPMfibDetails, error)
- DumpIPNeighbor(ctx context.Context, in *IPNeighborDump) ([]*IPNeighborDetails, error)
- DumpIPPuntRedirect(ctx context.Context, in *IPPuntRedirectDump) ([]*IPPuntRedirectDetails, error)
- DumpIPUnnumbered(ctx context.Context, in *IPUnnumberedDump) ([]*IPUnnumberedDetails, error)
- DumpMfibSignal(ctx context.Context, in *MfibSignalDump) ([]*MfibSignalDetails, error)
- DumpProxyArp(ctx context.Context, in *ProxyArpDump) ([]*ProxyArpDetails, error)
- DumpProxyArpIntfc(ctx context.Context, in *ProxyArpIntfcDump) ([]*ProxyArpIntfcDetails, error)
- IoamDisable(ctx context.Context, in *IoamDisable) (*IoamDisableReply, error)
- IoamEnable(ctx context.Context, in *IoamEnable) (*IoamEnableReply, error)
- IP6ndProxyAddDel(ctx context.Context, in *IP6ndProxyAddDel) (*IP6ndProxyAddDelReply, error)
- IP6ndSendRouterSolicitation(ctx context.Context, in *IP6ndSendRouterSolicitation) (*IP6ndSendRouterSolicitationReply, error)
- IPAddDelRoute(ctx context.Context, in *IPAddDelRoute) (*IPAddDelRouteReply, error)
- IPContainerProxyAddDel(ctx context.Context, in *IPContainerProxyAddDel) (*IPContainerProxyAddDelReply, error)
- IPMrouteAddDel(ctx context.Context, in *IPMrouteAddDel) (*IPMrouteAddDelReply, error)
- IPNeighborAddDel(ctx context.Context, in *IPNeighborAddDel) (*IPNeighborAddDelReply, error)
- IPProbeNeighbor(ctx context.Context, in *IPProbeNeighbor) (*IPProbeNeighborReply, error)
- IPPuntPolice(ctx context.Context, in *IPPuntPolice) (*IPPuntPoliceReply, error)
- IPPuntRedirect(ctx context.Context, in *IPPuntRedirect) (*IPPuntRedirectReply, error)
- IPReassemblyEnableDisable(ctx context.Context, in *IPReassemblyEnableDisable) (*IPReassemblyEnableDisableReply, error)
- IPReassemblyGet(ctx context.Context, in *IPReassemblyGet) (*IPReassemblyGetReply, error)
- IPReassemblySet(ctx context.Context, in *IPReassemblySet) (*IPReassemblySetReply, error)
- IPScanNeighborEnableDisable(ctx context.Context, in *IPScanNeighborEnableDisable) (*IPScanNeighborEnableDisableReply, error)
- IPSourceAndPortRangeCheckAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckAddDel) (*IPSourceAndPortRangeCheckAddDelReply, error)
- IPSourceAndPortRangeCheckInterfaceAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckInterfaceAddDel) (*IPSourceAndPortRangeCheckInterfaceAddDelReply, error)
- IPSourceCheckInterfaceAddDel(ctx context.Context, in *IPSourceCheckInterfaceAddDel) (*IPSourceCheckInterfaceAddDelReply, error)
- IPTableAddDel(ctx context.Context, in *IPTableAddDel) (*IPTableAddDelReply, error)
- ProxyArpAddDel(ctx context.Context, in *ProxyArpAddDel) (*ProxyArpAddDelReply, error)
- ProxyArpIntfcEnableDisable(ctx context.Context, in *ProxyArpIntfcEnableDisable) (*ProxyArpIntfcEnableDisableReply, error)
- ResetFib(ctx context.Context, in *ResetFib) (*ResetFibReply, error)
- SetArpNeighborLimit(ctx context.Context, in *SetArpNeighborLimit) (*SetArpNeighborLimitReply, error)
- SetIPFlowHash(ctx context.Context, in *SetIPFlowHash) (*SetIPFlowHashReply, error)
- SwInterfaceIP6EnableDisable(ctx context.Context, in *SwInterfaceIP6EnableDisable) (*SwInterfaceIP6EnableDisableReply, error)
- SwInterfaceIP6ndRaConfig(ctx context.Context, in *SwInterfaceIP6ndRaConfig) (*SwInterfaceIP6ndRaConfigReply, error)
- SwInterfaceIP6ndRaPrefix(ctx context.Context, in *SwInterfaceIP6ndRaPrefix) (*SwInterfaceIP6ndRaPrefixReply, error)
- WantIP4ArpEvents(ctx context.Context, in *WantIP4ArpEvents) (*WantIP4ArpEventsReply, error)
- WantIP6NdEvents(ctx context.Context, in *WantIP6NdEvents) (*WantIP6NdEventsReply, error)
- WantIP6RaEvents(ctx context.Context, in *WantIP6RaEvents) (*WantIP6RaEventsReply, error)
-}
-
-type service struct {
- ch api.Channel
-}
-
-func NewService(ch api.Channel) Service {
- return &service{ch}
-}
-
-func (c *service) DumpIP6Fib(ctx context.Context, in *IP6FibDump) ([]*IP6FibDetails, error) {
- var dump []*IP6FibDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(IP6FibDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpIP6Mfib(ctx context.Context, in *IP6MfibDump) ([]*IP6MfibDetails, error) {
- var dump []*IP6MfibDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(IP6MfibDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpIP6ndProxy(ctx context.Context, in *IP6ndProxyDump) ([]*IP6ndProxyDetails, error) {
- var dump []*IP6ndProxyDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(IP6ndProxyDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpIPAddress(ctx context.Context, in *IPAddressDump) ([]*IPAddressDetails, error) {
- var dump []*IPAddressDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(IPAddressDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpIPContainerProxy(ctx context.Context, in *IPContainerProxyDump) ([]*IPContainerProxyDetails, error) {
- var dump []*IPContainerProxyDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(IPContainerProxyDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpIP(ctx context.Context, in *IPDump) ([]*IPDetails, error) {
- var dump []*IPDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(IPDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpIPFib(ctx context.Context, in *IPFibDump) ([]*IPFibDetails, error) {
- var dump []*IPFibDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(IPFibDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpIPMfib(ctx context.Context, in *IPMfibDump) ([]*IPMfibDetails, error) {
- var dump []*IPMfibDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(IPMfibDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpIPNeighbor(ctx context.Context, in *IPNeighborDump) ([]*IPNeighborDetails, error) {
- var dump []*IPNeighborDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(IPNeighborDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpIPPuntRedirect(ctx context.Context, in *IPPuntRedirectDump) ([]*IPPuntRedirectDetails, error) {
- var dump []*IPPuntRedirectDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(IPPuntRedirectDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpIPUnnumbered(ctx context.Context, in *IPUnnumberedDump) ([]*IPUnnumberedDetails, error) {
- var dump []*IPUnnumberedDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(IPUnnumberedDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpMfibSignal(ctx context.Context, in *MfibSignalDump) ([]*MfibSignalDetails, error) {
- var dump []*MfibSignalDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(MfibSignalDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpProxyArp(ctx context.Context, in *ProxyArpDump) ([]*ProxyArpDetails, error) {
- var dump []*ProxyArpDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(ProxyArpDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) DumpProxyArpIntfc(ctx context.Context, in *ProxyArpIntfcDump) ([]*ProxyArpIntfcDetails, error) {
- var dump []*ProxyArpIntfcDetails
- req := c.ch.SendMultiRequest(in)
- for {
- m := new(ProxyArpIntfcDetails)
- stop, err := req.ReceiveReply(m)
- if stop {
- break
- }
- if err != nil {
- return nil, err
- }
- dump = append(dump, m)
- }
- return dump, nil
-}
-
-func (c *service) IoamDisable(ctx context.Context, in *IoamDisable) (*IoamDisableReply, error) {
- out := new(IoamDisableReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IoamEnable(ctx context.Context, in *IoamEnable) (*IoamEnableReply, error) {
- out := new(IoamEnableReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IP6ndProxyAddDel(ctx context.Context, in *IP6ndProxyAddDel) (*IP6ndProxyAddDelReply, error) {
- out := new(IP6ndProxyAddDelReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IP6ndSendRouterSolicitation(ctx context.Context, in *IP6ndSendRouterSolicitation) (*IP6ndSendRouterSolicitationReply, error) {
- out := new(IP6ndSendRouterSolicitationReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPAddDelRoute(ctx context.Context, in *IPAddDelRoute) (*IPAddDelRouteReply, error) {
- out := new(IPAddDelRouteReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPContainerProxyAddDel(ctx context.Context, in *IPContainerProxyAddDel) (*IPContainerProxyAddDelReply, error) {
- out := new(IPContainerProxyAddDelReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPMrouteAddDel(ctx context.Context, in *IPMrouteAddDel) (*IPMrouteAddDelReply, error) {
- out := new(IPMrouteAddDelReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPNeighborAddDel(ctx context.Context, in *IPNeighborAddDel) (*IPNeighborAddDelReply, error) {
- out := new(IPNeighborAddDelReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPProbeNeighbor(ctx context.Context, in *IPProbeNeighbor) (*IPProbeNeighborReply, error) {
- out := new(IPProbeNeighborReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPPuntPolice(ctx context.Context, in *IPPuntPolice) (*IPPuntPoliceReply, error) {
- out := new(IPPuntPoliceReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPPuntRedirect(ctx context.Context, in *IPPuntRedirect) (*IPPuntRedirectReply, error) {
- out := new(IPPuntRedirectReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPReassemblyEnableDisable(ctx context.Context, in *IPReassemblyEnableDisable) (*IPReassemblyEnableDisableReply, error) {
- out := new(IPReassemblyEnableDisableReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPReassemblyGet(ctx context.Context, in *IPReassemblyGet) (*IPReassemblyGetReply, error) {
- out := new(IPReassemblyGetReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPReassemblySet(ctx context.Context, in *IPReassemblySet) (*IPReassemblySetReply, error) {
- out := new(IPReassemblySetReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPScanNeighborEnableDisable(ctx context.Context, in *IPScanNeighborEnableDisable) (*IPScanNeighborEnableDisableReply, error) {
- out := new(IPScanNeighborEnableDisableReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPSourceAndPortRangeCheckAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckAddDel) (*IPSourceAndPortRangeCheckAddDelReply, error) {
- out := new(IPSourceAndPortRangeCheckAddDelReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPSourceAndPortRangeCheckInterfaceAddDel(ctx context.Context, in *IPSourceAndPortRangeCheckInterfaceAddDel) (*IPSourceAndPortRangeCheckInterfaceAddDelReply, error) {
- out := new(IPSourceAndPortRangeCheckInterfaceAddDelReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPSourceCheckInterfaceAddDel(ctx context.Context, in *IPSourceCheckInterfaceAddDel) (*IPSourceCheckInterfaceAddDelReply, error) {
- out := new(IPSourceCheckInterfaceAddDelReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) IPTableAddDel(ctx context.Context, in *IPTableAddDel) (*IPTableAddDelReply, error) {
- out := new(IPTableAddDelReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) ProxyArpAddDel(ctx context.Context, in *ProxyArpAddDel) (*ProxyArpAddDelReply, error) {
- out := new(ProxyArpAddDelReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) ProxyArpIntfcEnableDisable(ctx context.Context, in *ProxyArpIntfcEnableDisable) (*ProxyArpIntfcEnableDisableReply, error) {
- out := new(ProxyArpIntfcEnableDisableReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
+ (*SwInterfaceIP6SetLinkLocalAddress)(nil),
+ (*SwInterfaceIP6SetLinkLocalAddressReply)(nil),
}
- return out, nil
}
-func (c *service) ResetFib(ctx context.Context, in *ResetFib) (*ResetFibReply, error) {
- out := new(ResetFibReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) SetArpNeighborLimit(ctx context.Context, in *SetArpNeighborLimit) (*SetArpNeighborLimitReply, error) {
- out := new(SetArpNeighborLimitReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) SetIPFlowHash(ctx context.Context, in *SetIPFlowHash) (*SetIPFlowHashReply, error) {
- out := new(SetIPFlowHashReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) SwInterfaceIP6EnableDisable(ctx context.Context, in *SwInterfaceIP6EnableDisable) (*SwInterfaceIP6EnableDisableReply, error) {
- out := new(SwInterfaceIP6EnableDisableReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) SwInterfaceIP6ndRaConfig(ctx context.Context, in *SwInterfaceIP6ndRaConfig) (*SwInterfaceIP6ndRaConfigReply, error) {
- out := new(SwInterfaceIP6ndRaConfigReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) SwInterfaceIP6ndRaPrefix(ctx context.Context, in *SwInterfaceIP6ndRaPrefix) (*SwInterfaceIP6ndRaPrefixReply, error) {
- out := new(SwInterfaceIP6ndRaPrefixReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) WantIP4ArpEvents(ctx context.Context, in *WantIP4ArpEvents) (*WantIP4ArpEventsReply, error) {
- out := new(WantIP4ArpEventsReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) WantIP6NdEvents(ctx context.Context, in *WantIP6NdEvents) (*WantIP6NdEventsReply, error) {
- out := new(WantIP6NdEventsReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *service) WantIP6RaEvents(ctx context.Context, in *WantIP6RaEvents) (*WantIP6RaEventsReply, error) {
- out := new(WantIP6RaEventsReply)
- err := c.ch.SendRequest(in).ReceiveReply(out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = api.RegisterMessage
+var _ = codec.DecodeString
+var _ = bytes.NewBuffer
+var _ = context.Background
+var _ = io.Copy
+var _ = strconv.Itoa
+var _ = struc.Pack
+var _ = binary.BigEndian
+var _ = math.Float32bits