X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=examples%2Fbinapi%2Fmemif%2Fmemif.ba.go;h=bea3160cb86222155093ee58145622a8ed83cc53;hb=c7ae74a95d1bd6fefcbb061f5f045c60c11e32fc;hp=2388cc273a5607ac3be1a6c598d723de71d8f68f;hpb=d372b4efe26650dbc83908ca0bbee38d90aed3e9;p=govpp.git diff --git a/examples/binapi/memif/memif.ba.go b/examples/binapi/memif/memif.ba.go index 2388cc2..bea3160 100644 --- a/examples/binapi/memif/memif.ba.go +++ b/examples/binapi/memif/memif.ba.go @@ -1,45 +1,52 @@ // 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/plugins/memif.api.json /* -Package memif is a generated VPP binary API for 'memif' module. +Package memif contains generated code for VPP API file memif.api (3.0.0). It consists of: - 8 enums 2 aliases + 8 enums 10 messages - 5 services */ package memif import ( "bytes" "context" + "encoding/binary" + "fmt" "io" + "math" + "net" "strconv" + "strings" api "git.fd.io/govpp.git/api" + codec "git.fd.io/govpp.git/codec" struc "github.com/lunixbochs/struc" - ethernet_types "git.fd.io/govpp.git/examples/binapi/ethernet_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.GoVppAPIPackageIsVersion2 // please upgrade the GoVPP api package + const ( // ModuleName is the name of this module. ModuleName = "memif" // APIVersion is the API version of this module. APIVersion = "3.0.0" // VersionCrc is the CRC of this module. - VersionCrc = 0x88dc56c9 + VersionCrc = 0x1a1c95b8 ) -type IfStatusFlags = interface_types.IfStatusFlags - -type IfType = interface_types.IfType - -type LinkDuplex = interface_types.LinkDuplex - // MemifMode represents VPP binary API enum 'memif_mode'. type MemifMode uint32 @@ -49,24 +56,25 @@ const ( MEMIF_MODE_API_PUNT_INJECT MemifMode = 2 ) -var MemifMode_name = map[uint32]string{ - 0: "MEMIF_MODE_API_ETHERNET", - 1: "MEMIF_MODE_API_IP", - 2: "MEMIF_MODE_API_PUNT_INJECT", -} - -var MemifMode_value = map[string]uint32{ - "MEMIF_MODE_API_ETHERNET": 0, - "MEMIF_MODE_API_IP": 1, - "MEMIF_MODE_API_PUNT_INJECT": 2, -} +var ( + MemifMode_name = map[uint32]string{ + 0: "MEMIF_MODE_API_ETHERNET", + 1: "MEMIF_MODE_API_IP", + 2: "MEMIF_MODE_API_PUNT_INJECT", + } + MemifMode_value = map[string]uint32{ + "MEMIF_MODE_API_ETHERNET": 0, + "MEMIF_MODE_API_IP": 1, + "MEMIF_MODE_API_PUNT_INJECT": 2, + } +) func (x MemifMode) String() string { s, ok := MemifMode_name[uint32(x)] if ok { return s } - return strconv.Itoa(int(x)) + return "MemifMode(" + strconv.Itoa(int(x)) + ")" } // MemifRole represents VPP binary API enum 'memif_role'. @@ -77,47 +85,54 @@ const ( MEMIF_ROLE_API_SLAVE MemifRole = 1 ) -var MemifRole_name = map[uint32]string{ - 0: "MEMIF_ROLE_API_MASTER", - 1: "MEMIF_ROLE_API_SLAVE", -} - -var MemifRole_value = map[string]uint32{ - "MEMIF_ROLE_API_MASTER": 0, - "MEMIF_ROLE_API_SLAVE": 1, -} +var ( + MemifRole_name = map[uint32]string{ + 0: "MEMIF_ROLE_API_MASTER", + 1: "MEMIF_ROLE_API_SLAVE", + } + MemifRole_value = map[string]uint32{ + "MEMIF_ROLE_API_MASTER": 0, + "MEMIF_ROLE_API_SLAVE": 1, + } +) func (x MemifRole) String() string { s, ok := MemifRole_name[uint32(x)] if ok { return s } - return strconv.Itoa(int(x)) + return "MemifRole(" + strconv.Itoa(int(x)) + ")" } -type MtuProto = interface_types.MtuProto - -type RxMode = interface_types.RxMode +// MacAddress represents VPP binary API alias 'mac_address'. +type MacAddress [6]uint8 -type SubIfFlags = interface_types.SubIfFlags - -type InterfaceIndex = interface_types.InterfaceIndex +func ParseMAC(mac string) (parsed MacAddress, err error) { + var hw net.HardwareAddr + if hw, err = net.ParseMAC(mac); err != nil { + return + } + copy(parsed[:], hw[:]) + return +} -type MacAddress = ethernet_types.MacAddress +func (m *MacAddress) ToString() string { + return net.HardwareAddr(m[:]).String() +} // MemifCreate represents VPP binary API message 'memif_create'. type MemifCreate struct { - Role MemifRole - Mode MemifMode - RxQueues uint8 - TxQueues uint8 - ID uint32 - SocketID uint32 - RingSize uint32 - BufferSize uint16 - NoZeroCopy bool - HwAddr MacAddress - Secret string `struc:"[24]byte"` + Role MemifRole `binapi:"memif_role,name=role" json:"role,omitempty"` + Mode MemifMode `binapi:"memif_mode,name=mode" json:"mode,omitempty"` + RxQueues uint8 `binapi:"u8,name=rx_queues" json:"rx_queues,omitempty"` + TxQueues uint8 `binapi:"u8,name=tx_queues" json:"tx_queues,omitempty"` + ID uint32 `binapi:"u32,name=id" json:"id,omitempty"` + SocketID uint32 `binapi:"u32,name=socket_id" json:"socket_id,omitempty"` + RingSize uint32 `binapi:"u32,name=ring_size" json:"ring_size,omitempty"` + BufferSize uint16 `binapi:"u16,name=buffer_size" json:"buffer_size,omitempty"` + NoZeroCopy bool `binapi:"bool,name=no_zero_copy" json:"no_zero_copy,omitempty"` + HwAddr MacAddress `binapi:"mac_address,name=hw_addr" json:"hw_addr,omitempty"` + Secret string `binapi:"string[24],name=secret" json:"secret,omitempty" struc:"[24]byte"` } func (m *MemifCreate) Reset() { *m = MemifCreate{} } @@ -125,10 +140,139 @@ func (*MemifCreate) GetMessageName() string { return "memif_create" } func (*MemifCreate) GetCrcString() string { return "b1b25061" } func (*MemifCreate) GetMessageType() api.MessageType { return api.RequestMessage } +func (m *MemifCreate) Size() int { + if m == nil { + return 0 + } + var size int + // field[1] m.Role + size += 4 + // field[1] m.Mode + size += 4 + // field[1] m.RxQueues + size += 1 + // field[1] m.TxQueues + size += 1 + // field[1] m.ID + size += 4 + // field[1] m.SocketID + size += 4 + // field[1] m.RingSize + size += 4 + // field[1] m.BufferSize + size += 2 + // field[1] m.NoZeroCopy + size += 1 + // field[1] m.HwAddr + size += 6 + // field[1] m.Secret + size += 24 + return size +} +func (m *MemifCreate) 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.Role + o.PutUint32(buf[pos:pos+4], uint32(m.Role)) + pos += 4 + // field[1] m.Mode + o.PutUint32(buf[pos:pos+4], uint32(m.Mode)) + pos += 4 + // field[1] m.RxQueues + buf[pos] = uint8(m.RxQueues) + pos += 1 + // field[1] m.TxQueues + buf[pos] = uint8(m.TxQueues) + pos += 1 + // field[1] m.ID + o.PutUint32(buf[pos:pos+4], uint32(m.ID)) + pos += 4 + // field[1] m.SocketID + o.PutUint32(buf[pos:pos+4], uint32(m.SocketID)) + pos += 4 + // field[1] m.RingSize + o.PutUint32(buf[pos:pos+4], uint32(m.RingSize)) + pos += 4 + // field[1] m.BufferSize + o.PutUint16(buf[pos:pos+2], uint16(m.BufferSize)) + pos += 2 + // field[1] m.NoZeroCopy + if m.NoZeroCopy { + buf[pos] = 1 + } + pos += 1 + // field[1] m.HwAddr + for i := 0; i < 6; i++ { + var x uint8 + if i < len(m.HwAddr) { + x = uint8(m.HwAddr[i]) + } + buf[pos] = uint8(x) + pos += 1 + } + // field[1] m.Secret + copy(buf[pos:pos+24], m.Secret) + pos += 24 + return buf, nil +} +func (m *MemifCreate) Unmarshal(tmp []byte) error { + o := binary.BigEndian + _ = o + pos := 0 + _ = pos + // field[1] m.Role + m.Role = MemifRole(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.Mode + m.Mode = MemifMode(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.RxQueues + m.RxQueues = uint8(tmp[pos]) + pos += 1 + // field[1] m.TxQueues + m.TxQueues = uint8(tmp[pos]) + pos += 1 + // field[1] m.ID + m.ID = uint32(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.SocketID + m.SocketID = uint32(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.RingSize + m.RingSize = uint32(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.BufferSize + m.BufferSize = uint16(o.Uint16(tmp[pos : pos+2])) + pos += 2 + // field[1] m.NoZeroCopy + m.NoZeroCopy = tmp[pos] != 0 + pos += 1 + // field[1] m.HwAddr + for i := 0; i < len(m.HwAddr); i++ { + m.HwAddr[i] = uint8(tmp[pos]) + pos += 1 + } + // field[1] m.Secret + { + nul := bytes.Index(tmp[pos:pos+24], []byte{0x00}) + m.Secret = codec.DecodeString(tmp[pos : pos+nul]) + pos += 24 + } + return nil +} + // MemifCreateReply represents VPP binary API message 'memif_create_reply'. type MemifCreateReply struct { - Retval int32 - SwIfIndex InterfaceIndex + Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` + SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` } func (m *MemifCreateReply) Reset() { *m = MemifCreateReply{} } @@ -136,9 +280,53 @@ func (*MemifCreateReply) GetMessageName() string { return "memif_create func (*MemifCreateReply) GetCrcString() string { return "5383d31f" } func (*MemifCreateReply) GetMessageType() api.MessageType { return api.ReplyMessage } +func (m *MemifCreateReply) Size() int { + if m == nil { + return 0 + } + var size int + // field[1] m.Retval + size += 4 + // field[1] m.SwIfIndex + size += 4 + return size +} +func (m *MemifCreateReply) 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.SwIfIndex + o.PutUint32(buf[pos:pos+4], uint32(m.SwIfIndex)) + pos += 4 + return buf, nil +} +func (m *MemifCreateReply) 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.SwIfIndex + m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4])) + pos += 4 + return nil +} + // MemifDelete represents VPP binary API message 'memif_delete'. type MemifDelete struct { - SwIfIndex InterfaceIndex + SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` } func (m *MemifDelete) Reset() { *m = MemifDelete{} } @@ -146,9 +334,45 @@ func (*MemifDelete) GetMessageName() string { return "memif_delete" } func (*MemifDelete) GetCrcString() string { return "f9e6675e" } func (*MemifDelete) GetMessageType() api.MessageType { return api.RequestMessage } +func (m *MemifDelete) Size() int { + if m == nil { + return 0 + } + var size int + // field[1] m.SwIfIndex + size += 4 + return size +} +func (m *MemifDelete) 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 *MemifDelete) Unmarshal(tmp []byte) error { + o := binary.BigEndian + _ = o + pos := 0 + _ = pos + // field[1] m.SwIfIndex + m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4])) + pos += 4 + return nil +} + // MemifDeleteReply represents VPP binary API message 'memif_delete_reply'. type MemifDeleteReply struct { - Retval int32 + Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` } func (m *MemifDeleteReply) Reset() { *m = MemifDeleteReply{} } @@ -156,19 +380,55 @@ func (*MemifDeleteReply) GetMessageName() string { return "memif_delete func (*MemifDeleteReply) GetCrcString() string { return "e8d4e804" } func (*MemifDeleteReply) GetMessageType() api.MessageType { return api.ReplyMessage } +func (m *MemifDeleteReply) Size() int { + if m == nil { + return 0 + } + var size int + // field[1] m.Retval + size += 4 + return size +} +func (m *MemifDeleteReply) 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 *MemifDeleteReply) 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 +} + // MemifDetails represents VPP binary API message 'memif_details'. type MemifDetails struct { - SwIfIndex InterfaceIndex - HwAddr MacAddress - ID uint32 - Role MemifRole - Mode MemifMode - ZeroCopy bool - SocketID uint32 - RingSize uint32 - BufferSize uint16 - Flags IfStatusFlags - IfName string `struc:"[64]byte"` + SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` + HwAddr MacAddress `binapi:"mac_address,name=hw_addr" json:"hw_addr,omitempty"` + ID uint32 `binapi:"u32,name=id" json:"id,omitempty"` + Role MemifRole `binapi:"memif_role,name=role" json:"role,omitempty"` + Mode MemifMode `binapi:"memif_mode,name=mode" json:"mode,omitempty"` + ZeroCopy bool `binapi:"bool,name=zero_copy" json:"zero_copy,omitempty"` + SocketID uint32 `binapi:"u32,name=socket_id" json:"socket_id,omitempty"` + RingSize uint32 `binapi:"u32,name=ring_size" json:"ring_size,omitempty"` + BufferSize uint16 `binapi:"u16,name=buffer_size" json:"buffer_size,omitempty"` + Flags interface_types.IfStatusFlags `binapi:"if_status_flags,name=flags" json:"flags,omitempty"` + IfName string `binapi:"string[64],name=if_name" json:"if_name,omitempty" struc:"[64]byte"` } func (m *MemifDetails) Reset() { *m = MemifDetails{} } @@ -176,6 +436,135 @@ func (*MemifDetails) GetMessageName() string { return "memif_details" } func (*MemifDetails) GetCrcString() string { return "d0382c4c" } func (*MemifDetails) GetMessageType() api.MessageType { return api.ReplyMessage } +func (m *MemifDetails) Size() int { + if m == nil { + return 0 + } + var size int + // field[1] m.SwIfIndex + size += 4 + // field[1] m.HwAddr + size += 6 + // field[1] m.ID + size += 4 + // field[1] m.Role + size += 4 + // field[1] m.Mode + size += 4 + // field[1] m.ZeroCopy + size += 1 + // field[1] m.SocketID + size += 4 + // field[1] m.RingSize + size += 4 + // field[1] m.BufferSize + size += 2 + // field[1] m.Flags + size += 4 + // field[1] m.IfName + size += 64 + return size +} +func (m *MemifDetails) 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.HwAddr + for i := 0; i < 6; i++ { + var x uint8 + if i < len(m.HwAddr) { + x = uint8(m.HwAddr[i]) + } + buf[pos] = uint8(x) + pos += 1 + } + // field[1] m.ID + o.PutUint32(buf[pos:pos+4], uint32(m.ID)) + pos += 4 + // field[1] m.Role + o.PutUint32(buf[pos:pos+4], uint32(m.Role)) + pos += 4 + // field[1] m.Mode + o.PutUint32(buf[pos:pos+4], uint32(m.Mode)) + pos += 4 + // field[1] m.ZeroCopy + if m.ZeroCopy { + buf[pos] = 1 + } + pos += 1 + // field[1] m.SocketID + o.PutUint32(buf[pos:pos+4], uint32(m.SocketID)) + pos += 4 + // field[1] m.RingSize + o.PutUint32(buf[pos:pos+4], uint32(m.RingSize)) + pos += 4 + // field[1] m.BufferSize + o.PutUint16(buf[pos:pos+2], uint16(m.BufferSize)) + pos += 2 + // field[1] m.Flags + o.PutUint32(buf[pos:pos+4], uint32(m.Flags)) + pos += 4 + // field[1] m.IfName + copy(buf[pos:pos+64], m.IfName) + pos += 64 + return buf, nil +} +func (m *MemifDetails) Unmarshal(tmp []byte) error { + o := binary.BigEndian + _ = o + pos := 0 + _ = pos + // field[1] m.SwIfIndex + m.SwIfIndex = interface_types.InterfaceIndex(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.HwAddr + for i := 0; i < len(m.HwAddr); i++ { + m.HwAddr[i] = uint8(tmp[pos]) + pos += 1 + } + // field[1] m.ID + m.ID = uint32(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.Role + m.Role = MemifRole(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.Mode + m.Mode = MemifMode(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.ZeroCopy + m.ZeroCopy = tmp[pos] != 0 + pos += 1 + // field[1] m.SocketID + m.SocketID = uint32(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.RingSize + m.RingSize = uint32(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.BufferSize + m.BufferSize = uint16(o.Uint16(tmp[pos : pos+2])) + pos += 2 + // field[1] m.Flags + m.Flags = interface_types.IfStatusFlags(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.IfName + { + nul := bytes.Index(tmp[pos:pos+64], []byte{0x00}) + m.IfName = codec.DecodeString(tmp[pos : pos+nul]) + pos += 64 + } + return nil +} + // MemifDump represents VPP binary API message 'memif_dump'. type MemifDump struct{} @@ -184,11 +573,39 @@ func (*MemifDump) GetMessageName() string { return "memif_dump" } func (*MemifDump) GetCrcString() string { return "51077d14" } func (*MemifDump) GetMessageType() api.MessageType { return api.RequestMessage } +func (m *MemifDump) Size() int { + if m == nil { + return 0 + } + var size int + return size +} +func (m *MemifDump) 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 (m *MemifDump) Unmarshal(tmp []byte) error { + o := binary.BigEndian + _ = o + pos := 0 + _ = pos + return nil +} + // MemifSocketFilenameAddDel represents VPP binary API message 'memif_socket_filename_add_del'. type MemifSocketFilenameAddDel struct { - IsAdd bool - SocketID uint32 - SocketFilename string `struc:"[108]byte"` + IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"` + SocketID uint32 `binapi:"u32,name=socket_id" json:"socket_id,omitempty"` + SocketFilename string `binapi:"string[108],name=socket_filename" json:"socket_filename,omitempty" struc:"[108]byte"` } func (m *MemifSocketFilenameAddDel) Reset() { *m = MemifSocketFilenameAddDel{} } @@ -196,9 +613,66 @@ func (*MemifSocketFilenameAddDel) GetMessageName() string { return "mem func (*MemifSocketFilenameAddDel) GetCrcString() string { return "a2ce1a10" } func (*MemifSocketFilenameAddDel) GetMessageType() api.MessageType { return api.RequestMessage } +func (m *MemifSocketFilenameAddDel) Size() int { + if m == nil { + return 0 + } + var size int + // field[1] m.IsAdd + size += 1 + // field[1] m.SocketID + size += 4 + // field[1] m.SocketFilename + size += 108 + return size +} +func (m *MemifSocketFilenameAddDel) 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.SocketID + o.PutUint32(buf[pos:pos+4], uint32(m.SocketID)) + pos += 4 + // field[1] m.SocketFilename + copy(buf[pos:pos+108], m.SocketFilename) + pos += 108 + return buf, nil +} +func (m *MemifSocketFilenameAddDel) 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.SocketID + m.SocketID = uint32(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.SocketFilename + { + nul := bytes.Index(tmp[pos:pos+108], []byte{0x00}) + m.SocketFilename = codec.DecodeString(tmp[pos : pos+nul]) + pos += 108 + } + return nil +} + // MemifSocketFilenameAddDelReply represents VPP binary API message 'memif_socket_filename_add_del_reply'. type MemifSocketFilenameAddDelReply struct { - Retval int32 + Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` } func (m *MemifSocketFilenameAddDelReply) Reset() { *m = MemifSocketFilenameAddDelReply{} } @@ -208,10 +682,46 @@ func (*MemifSocketFilenameAddDelReply) GetMessageName() string { func (*MemifSocketFilenameAddDelReply) GetCrcString() string { return "e8d4e804" } func (*MemifSocketFilenameAddDelReply) GetMessageType() api.MessageType { return api.ReplyMessage } +func (m *MemifSocketFilenameAddDelReply) Size() int { + if m == nil { + return 0 + } + var size int + // field[1] m.Retval + size += 4 + return size +} +func (m *MemifSocketFilenameAddDelReply) 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 *MemifSocketFilenameAddDelReply) 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 +} + // MemifSocketFilenameDetails represents VPP binary API message 'memif_socket_filename_details'. type MemifSocketFilenameDetails struct { - SocketID uint32 - SocketFilename string `struc:"[108]byte"` + SocketID uint32 `binapi:"u32,name=socket_id" json:"socket_id,omitempty"` + SocketFilename string `binapi:"string[108],name=socket_filename" json:"socket_filename,omitempty" struc:"[108]byte"` } func (m *MemifSocketFilenameDetails) Reset() { *m = MemifSocketFilenameDetails{} } @@ -219,6 +729,53 @@ func (*MemifSocketFilenameDetails) GetMessageName() string { return "me func (*MemifSocketFilenameDetails) GetCrcString() string { return "7ff326f7" } func (*MemifSocketFilenameDetails) GetMessageType() api.MessageType { return api.ReplyMessage } +func (m *MemifSocketFilenameDetails) Size() int { + if m == nil { + return 0 + } + var size int + // field[1] m.SocketID + size += 4 + // field[1] m.SocketFilename + size += 108 + return size +} +func (m *MemifSocketFilenameDetails) 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.SocketID + o.PutUint32(buf[pos:pos+4], uint32(m.SocketID)) + pos += 4 + // field[1] m.SocketFilename + copy(buf[pos:pos+108], m.SocketFilename) + pos += 108 + return buf, nil +} +func (m *MemifSocketFilenameDetails) Unmarshal(tmp []byte) error { + o := binary.BigEndian + _ = o + pos := 0 + _ = pos + // field[1] m.SocketID + m.SocketID = uint32(o.Uint32(tmp[pos : pos+4])) + pos += 4 + // field[1] m.SocketFilename + { + nul := bytes.Index(tmp[pos:pos+108], []byte{0x00}) + m.SocketFilename = codec.DecodeString(tmp[pos : pos+nul]) + pos += 108 + } + return nil +} + // MemifSocketFilenameDump represents VPP binary API message 'memif_socket_filename_dump'. type MemifSocketFilenameDump struct{} @@ -227,7 +784,36 @@ func (*MemifSocketFilenameDump) GetMessageName() string { return "memif func (*MemifSocketFilenameDump) GetCrcString() string { return "51077d14" } func (*MemifSocketFilenameDump) GetMessageType() api.MessageType { return api.RequestMessage } -func init() { +func (m *MemifSocketFilenameDump) Size() int { + if m == nil { + return 0 + } + var size int + return size +} +func (m *MemifSocketFilenameDump) 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 (m *MemifSocketFilenameDump) Unmarshal(tmp []byte) error { + o := binary.BigEndian + _ = o + pos := 0 + _ = pos + return nil +} + +func init() { file_memif_binapi_init() } +func file_memif_binapi_init() { api.RegisterMessage((*MemifCreate)(nil), "memif.MemifCreate") api.RegisterMessage((*MemifCreateReply)(nil), "memif.MemifCreateReply") api.RegisterMessage((*MemifDelete)(nil), "memif.MemifDelete") @@ -256,112 +842,16 @@ func AllMessages() []api.Message { } } -// RPCService represents RPC service API for memif module. -type RPCService interface { - DumpMemif(ctx context.Context, in *MemifDump) (RPCService_DumpMemifClient, error) - DumpMemifSocketFilename(ctx context.Context, in *MemifSocketFilenameDump) (RPCService_DumpMemifSocketFilenameClient, error) - MemifCreate(ctx context.Context, in *MemifCreate) (*MemifCreateReply, error) - MemifDelete(ctx context.Context, in *MemifDelete) (*MemifDeleteReply, error) - MemifSocketFilenameAddDel(ctx context.Context, in *MemifSocketFilenameAddDel) (*MemifSocketFilenameAddDelReply, error) -} - -type serviceClient struct { - ch api.Channel -} - -func NewServiceClient(ch api.Channel) RPCService { - return &serviceClient{ch} -} - -func (c *serviceClient) DumpMemif(ctx context.Context, in *MemifDump) (RPCService_DumpMemifClient, error) { - stream := c.ch.SendMultiRequest(in) - x := &serviceClient_DumpMemifClient{stream} - return x, nil -} - -type RPCService_DumpMemifClient interface { - Recv() (*MemifDetails, error) -} - -type serviceClient_DumpMemifClient struct { - api.MultiRequestCtx -} - -func (c *serviceClient_DumpMemifClient) Recv() (*MemifDetails, error) { - m := new(MemifDetails) - stop, err := c.MultiRequestCtx.ReceiveReply(m) - if err != nil { - return nil, err - } - if stop { - return nil, io.EOF - } - return m, nil -} - -func (c *serviceClient) DumpMemifSocketFilename(ctx context.Context, in *MemifSocketFilenameDump) (RPCService_DumpMemifSocketFilenameClient, error) { - stream := c.ch.SendMultiRequest(in) - x := &serviceClient_DumpMemifSocketFilenameClient{stream} - return x, nil -} - -type RPCService_DumpMemifSocketFilenameClient interface { - Recv() (*MemifSocketFilenameDetails, error) -} - -type serviceClient_DumpMemifSocketFilenameClient struct { - api.MultiRequestCtx -} - -func (c *serviceClient_DumpMemifSocketFilenameClient) Recv() (*MemifSocketFilenameDetails, error) { - m := new(MemifSocketFilenameDetails) - stop, err := c.MultiRequestCtx.ReceiveReply(m) - if err != nil { - return nil, err - } - if stop { - return nil, io.EOF - } - return m, nil -} - -func (c *serviceClient) MemifCreate(ctx context.Context, in *MemifCreate) (*MemifCreateReply, error) { - out := new(MemifCreateReply) - err := c.ch.SendRequest(in).ReceiveReply(out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *serviceClient) MemifDelete(ctx context.Context, in *MemifDelete) (*MemifDeleteReply, error) { - out := new(MemifDeleteReply) - err := c.ch.SendRequest(in).ReceiveReply(out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *serviceClient) MemifSocketFilenameAddDel(ctx context.Context, in *MemifSocketFilenameAddDel) (*MemifSocketFilenameAddDelReply, error) { - out := new(MemifSocketFilenameAddDelReply) - err := c.ch.SendRequest(in).ReceiveReply(out) - if err != nil { - return nil, err - } - return out, nil -} - -// 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 - // 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 _ = strings.Contains var _ = struc.Pack +var _ = binary.BigEndian +var _ = math.Float32bits +var _ = net.ParseIP +var _ = fmt.Errorf