blob: e627a9d5ccf0e25b157dce9880fd08be312b1fa6 [file] [log] [blame]
/*
* Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
* Copyright (c) 2011, 2012 Open Networking Foundation
* Copyright 2013, Big Switch Networks, Inc. This library was generated by the LoxiGen Compiler.
* Copyright 2018, Red Hat, Inc.
*/
// Automatically generated by LOXI from template module.go
// Do not modify
package of13
import (
"bytes"
"encoding/binary"
"fmt"
"net"
"github.com/opencord/goloxi"
)
type Header struct {
Version uint8
Type uint8
Length uint16
Xid uint32
}
type IHeader interface {
goloxi.Serializable
GetVersion() uint8
GetType() uint8
GetLength() uint16
GetXid() uint32
}
func (self *Header) GetVersion() uint8 {
return self.Version
}
func (self *Header) SetVersion(v uint8) {
self.Version = v
}
func (self *Header) GetType() uint8 {
return self.Type
}
func (self *Header) SetType(v uint8) {
self.Type = v
}
func (self *Header) GetLength() uint16 {
return self.Length
}
func (self *Header) SetLength(v uint16) {
self.Length = v
}
func (self *Header) GetXid() uint32 {
return self.Xid
}
func (self *Header) SetXid(v uint32) {
self.Xid = v
}
func (self *Header) Serialize(encoder *goloxi.Encoder) error {
encoder.PutUint8(uint8(4))
encoder.PutUint8(uint8(self.Type))
encoder.PutUint16(uint16(self.Length))
encoder.PutUint32(uint32(self.Xid))
return nil
}
func (self *Header) Decode(decoder *goloxi.Decoder) error {
if decoder.Length() < 8 {
return fmt.Errorf("Header packet too short: %d < 8", decoder.Length())
}
self.Version = uint8(decoder.ReadByte())
self.Type = uint8(decoder.ReadByte())
self.Length = uint16(decoder.ReadUint16())
oldDecoder := decoder
defer func() { decoder = oldDecoder }()
decoder = decoder.SliceDecoder(int(self.Length), 2+2)
self.Xid = uint32(decoder.ReadUint32())
return nil
}
func DecodeHeader(decoder *goloxi.Decoder) (IHeader, error) {
_header := &Header{}
if decoder.Length() < 8 {
return nil, fmt.Errorf("Header packet too short: %d < 8", decoder.Length())
}
_header.Version = uint8(decoder.ReadByte())
_header.Type = uint8(decoder.ReadByte())
_header.Length = uint16(decoder.ReadUint16())
oldDecoder := decoder
defer func() { decoder = oldDecoder }()
decoder = decoder.SliceDecoder(int(_header.Length), 2+2)
_header.Xid = uint32(decoder.ReadUint32())
switch _header.Type {
case 0:
return DecodeHello(_header, decoder)
case 1:
return DecodeErrorMsg(_header, decoder)
case 2:
return DecodeEchoRequest(_header, decoder)
case 3:
return DecodeEchoReply(_header, decoder)
case 4:
return DecodeExperimenter(_header, decoder)
case 5:
return DecodeFeaturesRequest(_header, decoder)
case 6:
return DecodeFeaturesReply(_header, decoder)
case 7:
return DecodeGetConfigRequest(_header, decoder)
case 8:
return DecodeGetConfigReply(_header, decoder)
case 9:
return DecodeSetConfig(_header, decoder)
case 10:
return DecodePacketIn(_header, decoder)
case 11:
return DecodeFlowRemoved(_header, decoder)
case 12:
return DecodePortStatus(_header, decoder)
case 13:
return DecodePacketOut(_header, decoder)
case 14:
return DecodeFlowMod(_header, decoder)
case 15:
return DecodeGroupMod(_header, decoder)
case 16:
return DecodePortMod(_header, decoder)
case 17:
return DecodeTableMod(_header, decoder)
case 18:
return DecodeStatsRequest(_header, decoder)
case 19:
return DecodeStatsReply(_header, decoder)
case 20:
return DecodeBarrierRequest(_header, decoder)
case 21:
return DecodeBarrierReply(_header, decoder)
case 22:
return DecodeQueueGetConfigRequest(_header, decoder)
case 23:
return DecodeQueueGetConfigReply(_header, decoder)
case 24:
return DecodeRoleRequest(_header, decoder)
case 25:
return DecodeRoleReply(_header, decoder)
case 26:
return DecodeAsyncGetRequest(_header, decoder)
case 27:
return DecodeAsyncGetReply(_header, decoder)
case 28:
return DecodeAsyncSet(_header, decoder)
case 29:
return DecodeMeterMod(_header, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'Header'", _header.Type)
}
}
func NewHeader(_type uint8) *Header {
obj := &Header{}
obj.Type = _type
return obj
}
type StatsReply struct {
*Header
StatsType uint16
Flags StatsReplyFlags
}
type IStatsReply interface {
IHeader
GetStatsType() uint16
GetFlags() StatsReplyFlags
}
func (self *StatsReply) GetStatsType() uint16 {
return self.StatsType
}
func (self *StatsReply) SetStatsType(v uint16) {
self.StatsType = v
}
func (self *StatsReply) GetFlags() StatsReplyFlags {
return self.Flags
}
func (self *StatsReply) SetFlags(v StatsReplyFlags) {
self.Flags = v
}
func (self *StatsReply) Serialize(encoder *goloxi.Encoder) error {
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.StatsType))
encoder.PutUint16(uint16(self.Flags))
return nil
}
func DecodeStatsReply(parent *Header, decoder *goloxi.Decoder) (IStatsReply, error) {
_statsreply := &StatsReply{Header: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("StatsReply packet too short: %d < 4", decoder.Length())
}
_statsreply.StatsType = uint16(decoder.ReadUint16())
_statsreply.Flags = StatsReplyFlags(decoder.ReadUint16())
switch _statsreply.StatsType {
case 0:
return DecodeDescStatsReply(_statsreply, decoder)
case 1:
return DecodeFlowStatsReply(_statsreply, decoder)
case 2:
return DecodeAggregateStatsReply(_statsreply, decoder)
case 3:
return DecodeTableStatsReply(_statsreply, decoder)
case 4:
return DecodePortStatsReply(_statsreply, decoder)
case 5:
return DecodeQueueStatsReply(_statsreply, decoder)
case 6:
return DecodeGroupStatsReply(_statsreply, decoder)
case 7:
return DecodeGroupDescStatsReply(_statsreply, decoder)
case 8:
return DecodeGroupFeaturesStatsReply(_statsreply, decoder)
case 9:
return DecodeMeterStatsReply(_statsreply, decoder)
case 10:
return DecodeMeterConfigStatsReply(_statsreply, decoder)
case 11:
return DecodeMeterFeaturesStatsReply(_statsreply, decoder)
case 12:
return DecodeTableFeaturesStatsReply(_statsreply, decoder)
case 13:
return DecodePortDescStatsReply(_statsreply, decoder)
case 65535:
return DecodeExperimenterStatsReply(_statsreply, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'StatsReply'", _statsreply.StatsType)
}
}
func NewStatsReply(_stats_type uint16) *StatsReply {
obj := &StatsReply{
Header: NewHeader(19),
}
obj.StatsType = _stats_type
return obj
}
type AggregateStatsReply struct {
*StatsReply
PacketCount uint64
ByteCount uint64
FlowCount uint32
}
type IAggregateStatsReply interface {
IStatsReply
GetPacketCount() uint64
GetByteCount() uint64
GetFlowCount() uint32
}
func (self *AggregateStatsReply) GetPacketCount() uint64 {
return self.PacketCount
}
func (self *AggregateStatsReply) SetPacketCount(v uint64) {
self.PacketCount = v
}
func (self *AggregateStatsReply) GetByteCount() uint64 {
return self.ByteCount
}
func (self *AggregateStatsReply) SetByteCount(v uint64) {
self.ByteCount = v
}
func (self *AggregateStatsReply) GetFlowCount() uint32 {
return self.FlowCount
}
func (self *AggregateStatsReply) SetFlowCount(v uint32) {
self.FlowCount = v
}
func (self *AggregateStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint64(uint64(self.PacketCount))
encoder.PutUint64(uint64(self.ByteCount))
encoder.PutUint32(uint32(self.FlowCount))
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeAggregateStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*AggregateStatsReply, error) {
_aggregatestatsreply := &AggregateStatsReply{StatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("AggregateStatsReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
_aggregatestatsreply.PacketCount = uint64(decoder.ReadUint64())
_aggregatestatsreply.ByteCount = uint64(decoder.ReadUint64())
_aggregatestatsreply.FlowCount = uint32(decoder.ReadUint32())
decoder.Skip(4)
return _aggregatestatsreply, nil
}
func NewAggregateStatsReply() *AggregateStatsReply {
obj := &AggregateStatsReply{
StatsReply: NewStatsReply(2),
}
return obj
}
type StatsRequest struct {
*Header
StatsType uint16
Flags StatsRequestFlags
}
type IStatsRequest interface {
IHeader
GetStatsType() uint16
GetFlags() StatsRequestFlags
}
func (self *StatsRequest) GetStatsType() uint16 {
return self.StatsType
}
func (self *StatsRequest) SetStatsType(v uint16) {
self.StatsType = v
}
func (self *StatsRequest) GetFlags() StatsRequestFlags {
return self.Flags
}
func (self *StatsRequest) SetFlags(v StatsRequestFlags) {
self.Flags = v
}
func (self *StatsRequest) Serialize(encoder *goloxi.Encoder) error {
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.StatsType))
encoder.PutUint16(uint16(self.Flags))
return nil
}
func DecodeStatsRequest(parent *Header, decoder *goloxi.Decoder) (IStatsRequest, error) {
_statsrequest := &StatsRequest{Header: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("StatsRequest packet too short: %d < 4", decoder.Length())
}
_statsrequest.StatsType = uint16(decoder.ReadUint16())
_statsrequest.Flags = StatsRequestFlags(decoder.ReadUint16())
switch _statsrequest.StatsType {
case 0:
return DecodeDescStatsRequest(_statsrequest, decoder)
case 1:
return DecodeFlowStatsRequest(_statsrequest, decoder)
case 2:
return DecodeAggregateStatsRequest(_statsrequest, decoder)
case 3:
return DecodeTableStatsRequest(_statsrequest, decoder)
case 4:
return DecodePortStatsRequest(_statsrequest, decoder)
case 5:
return DecodeQueueStatsRequest(_statsrequest, decoder)
case 6:
return DecodeGroupStatsRequest(_statsrequest, decoder)
case 7:
return DecodeGroupDescStatsRequest(_statsrequest, decoder)
case 8:
return DecodeGroupFeaturesStatsRequest(_statsrequest, decoder)
case 9:
return DecodeMeterStatsRequest(_statsrequest, decoder)
case 10:
return DecodeMeterConfigStatsRequest(_statsrequest, decoder)
case 11:
return DecodeMeterFeaturesStatsRequest(_statsrequest, decoder)
case 12:
return DecodeTableFeaturesStatsRequest(_statsrequest, decoder)
case 13:
return DecodePortDescStatsRequest(_statsrequest, decoder)
case 65535:
return DecodeExperimenterStatsRequest(_statsrequest, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'StatsRequest'", _statsrequest.StatsType)
}
}
func NewStatsRequest(_stats_type uint16) *StatsRequest {
obj := &StatsRequest{
Header: NewHeader(18),
}
obj.StatsType = _stats_type
return obj
}
type AggregateStatsRequest struct {
*StatsRequest
TableId uint8
OutPort Port
OutGroup uint32
Cookie uint64
CookieMask uint64
Match Match
}
type IAggregateStatsRequest interface {
IStatsRequest
GetTableId() uint8
GetOutPort() Port
GetOutGroup() uint32
GetCookie() uint64
GetCookieMask() uint64
GetMatch() Match
}
func (self *AggregateStatsRequest) GetTableId() uint8 {
return self.TableId
}
func (self *AggregateStatsRequest) SetTableId(v uint8) {
self.TableId = v
}
func (self *AggregateStatsRequest) GetOutPort() Port {
return self.OutPort
}
func (self *AggregateStatsRequest) SetOutPort(v Port) {
self.OutPort = v
}
func (self *AggregateStatsRequest) GetOutGroup() uint32 {
return self.OutGroup
}
func (self *AggregateStatsRequest) SetOutGroup(v uint32) {
self.OutGroup = v
}
func (self *AggregateStatsRequest) GetCookie() uint64 {
return self.Cookie
}
func (self *AggregateStatsRequest) SetCookie(v uint64) {
self.Cookie = v
}
func (self *AggregateStatsRequest) GetCookieMask() uint64 {
return self.CookieMask
}
func (self *AggregateStatsRequest) SetCookieMask(v uint64) {
self.CookieMask = v
}
func (self *AggregateStatsRequest) GetMatch() Match {
return self.Match
}
func (self *AggregateStatsRequest) SetMatch(v Match) {
self.Match = v
}
func (self *AggregateStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint8(uint8(self.TableId))
encoder.Write(bytes.Repeat([]byte{0}, 3))
self.OutPort.Serialize(encoder)
encoder.PutUint32(uint32(self.OutGroup))
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint64(uint64(self.Cookie))
encoder.PutUint64(uint64(self.CookieMask))
if err := self.Match.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeAggregateStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*AggregateStatsRequest, error) {
_aggregatestatsrequest := &AggregateStatsRequest{StatsRequest: parent}
if decoder.Length() < 28 {
return nil, fmt.Errorf("AggregateStatsRequest packet too short: %d < 28", decoder.Length())
}
decoder.Skip(4)
_aggregatestatsrequest.TableId = uint8(decoder.ReadByte())
decoder.Skip(3)
_aggregatestatsrequest.OutPort.Decode(decoder)
_aggregatestatsrequest.OutGroup = uint32(decoder.ReadUint32())
decoder.Skip(4)
_aggregatestatsrequest.Cookie = uint64(decoder.ReadUint64())
_aggregatestatsrequest.CookieMask = uint64(decoder.ReadUint64())
if err := _aggregatestatsrequest.Match.Decode(decoder); err != nil {
return nil, err
}
decoder.SkipAlign()
return _aggregatestatsrequest, nil
}
func NewAggregateStatsRequest() *AggregateStatsRequest {
obj := &AggregateStatsRequest{
StatsRequest: NewStatsRequest(2),
}
return obj
}
type AsyncGetReply struct {
*Header
PacketInMaskEqualMaster uint32
PacketInMaskSlave uint32
PortStatusMaskEqualMaster uint32
PortStatusMaskSlave uint32
FlowRemovedMaskEqualMaster uint32
FlowRemovedMaskSlave uint32
}
type IAsyncGetReply interface {
IHeader
GetPacketInMaskEqualMaster() uint32
GetPacketInMaskSlave() uint32
GetPortStatusMaskEqualMaster() uint32
GetPortStatusMaskSlave() uint32
GetFlowRemovedMaskEqualMaster() uint32
GetFlowRemovedMaskSlave() uint32
}
func (self *AsyncGetReply) GetPacketInMaskEqualMaster() uint32 {
return self.PacketInMaskEqualMaster
}
func (self *AsyncGetReply) SetPacketInMaskEqualMaster(v uint32) {
self.PacketInMaskEqualMaster = v
}
func (self *AsyncGetReply) GetPacketInMaskSlave() uint32 {
return self.PacketInMaskSlave
}
func (self *AsyncGetReply) SetPacketInMaskSlave(v uint32) {
self.PacketInMaskSlave = v
}
func (self *AsyncGetReply) GetPortStatusMaskEqualMaster() uint32 {
return self.PortStatusMaskEqualMaster
}
func (self *AsyncGetReply) SetPortStatusMaskEqualMaster(v uint32) {
self.PortStatusMaskEqualMaster = v
}
func (self *AsyncGetReply) GetPortStatusMaskSlave() uint32 {
return self.PortStatusMaskSlave
}
func (self *AsyncGetReply) SetPortStatusMaskSlave(v uint32) {
self.PortStatusMaskSlave = v
}
func (self *AsyncGetReply) GetFlowRemovedMaskEqualMaster() uint32 {
return self.FlowRemovedMaskEqualMaster
}
func (self *AsyncGetReply) SetFlowRemovedMaskEqualMaster(v uint32) {
self.FlowRemovedMaskEqualMaster = v
}
func (self *AsyncGetReply) GetFlowRemovedMaskSlave() uint32 {
return self.FlowRemovedMaskSlave
}
func (self *AsyncGetReply) SetFlowRemovedMaskSlave(v uint32) {
self.FlowRemovedMaskSlave = v
}
func (self *AsyncGetReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.PacketInMaskEqualMaster))
encoder.PutUint32(uint32(self.PacketInMaskSlave))
encoder.PutUint32(uint32(self.PortStatusMaskEqualMaster))
encoder.PutUint32(uint32(self.PortStatusMaskSlave))
encoder.PutUint32(uint32(self.FlowRemovedMaskEqualMaster))
encoder.PutUint32(uint32(self.FlowRemovedMaskSlave))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeAsyncGetReply(parent *Header, decoder *goloxi.Decoder) (*AsyncGetReply, error) {
_asyncgetreply := &AsyncGetReply{Header: parent}
if decoder.Length() < 24 {
return nil, fmt.Errorf("AsyncGetReply packet too short: %d < 24", decoder.Length())
}
_asyncgetreply.PacketInMaskEqualMaster = uint32(decoder.ReadUint32())
_asyncgetreply.PacketInMaskSlave = uint32(decoder.ReadUint32())
_asyncgetreply.PortStatusMaskEqualMaster = uint32(decoder.ReadUint32())
_asyncgetreply.PortStatusMaskSlave = uint32(decoder.ReadUint32())
_asyncgetreply.FlowRemovedMaskEqualMaster = uint32(decoder.ReadUint32())
_asyncgetreply.FlowRemovedMaskSlave = uint32(decoder.ReadUint32())
return _asyncgetreply, nil
}
func NewAsyncGetReply() *AsyncGetReply {
obj := &AsyncGetReply{
Header: NewHeader(27),
}
return obj
}
type AsyncGetRequest struct {
*Header
}
type IAsyncGetRequest interface {
IHeader
}
func (self *AsyncGetRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeAsyncGetRequest(parent *Header, decoder *goloxi.Decoder) (*AsyncGetRequest, error) {
_asyncgetrequest := &AsyncGetRequest{Header: parent}
return _asyncgetrequest, nil
}
func NewAsyncGetRequest() *AsyncGetRequest {
obj := &AsyncGetRequest{
Header: NewHeader(26),
}
return obj
}
type AsyncSet struct {
*Header
PacketInMaskEqualMaster uint32
PacketInMaskSlave uint32
PortStatusMaskEqualMaster uint32
PortStatusMaskSlave uint32
FlowRemovedMaskEqualMaster uint32
FlowRemovedMaskSlave uint32
}
type IAsyncSet interface {
IHeader
GetPacketInMaskEqualMaster() uint32
GetPacketInMaskSlave() uint32
GetPortStatusMaskEqualMaster() uint32
GetPortStatusMaskSlave() uint32
GetFlowRemovedMaskEqualMaster() uint32
GetFlowRemovedMaskSlave() uint32
}
func (self *AsyncSet) GetPacketInMaskEqualMaster() uint32 {
return self.PacketInMaskEqualMaster
}
func (self *AsyncSet) SetPacketInMaskEqualMaster(v uint32) {
self.PacketInMaskEqualMaster = v
}
func (self *AsyncSet) GetPacketInMaskSlave() uint32 {
return self.PacketInMaskSlave
}
func (self *AsyncSet) SetPacketInMaskSlave(v uint32) {
self.PacketInMaskSlave = v
}
func (self *AsyncSet) GetPortStatusMaskEqualMaster() uint32 {
return self.PortStatusMaskEqualMaster
}
func (self *AsyncSet) SetPortStatusMaskEqualMaster(v uint32) {
self.PortStatusMaskEqualMaster = v
}
func (self *AsyncSet) GetPortStatusMaskSlave() uint32 {
return self.PortStatusMaskSlave
}
func (self *AsyncSet) SetPortStatusMaskSlave(v uint32) {
self.PortStatusMaskSlave = v
}
func (self *AsyncSet) GetFlowRemovedMaskEqualMaster() uint32 {
return self.FlowRemovedMaskEqualMaster
}
func (self *AsyncSet) SetFlowRemovedMaskEqualMaster(v uint32) {
self.FlowRemovedMaskEqualMaster = v
}
func (self *AsyncSet) GetFlowRemovedMaskSlave() uint32 {
return self.FlowRemovedMaskSlave
}
func (self *AsyncSet) SetFlowRemovedMaskSlave(v uint32) {
self.FlowRemovedMaskSlave = v
}
func (self *AsyncSet) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.PacketInMaskEqualMaster))
encoder.PutUint32(uint32(self.PacketInMaskSlave))
encoder.PutUint32(uint32(self.PortStatusMaskEqualMaster))
encoder.PutUint32(uint32(self.PortStatusMaskSlave))
encoder.PutUint32(uint32(self.FlowRemovedMaskEqualMaster))
encoder.PutUint32(uint32(self.FlowRemovedMaskSlave))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeAsyncSet(parent *Header, decoder *goloxi.Decoder) (*AsyncSet, error) {
_asyncset := &AsyncSet{Header: parent}
if decoder.Length() < 24 {
return nil, fmt.Errorf("AsyncSet packet too short: %d < 24", decoder.Length())
}
_asyncset.PacketInMaskEqualMaster = uint32(decoder.ReadUint32())
_asyncset.PacketInMaskSlave = uint32(decoder.ReadUint32())
_asyncset.PortStatusMaskEqualMaster = uint32(decoder.ReadUint32())
_asyncset.PortStatusMaskSlave = uint32(decoder.ReadUint32())
_asyncset.FlowRemovedMaskEqualMaster = uint32(decoder.ReadUint32())
_asyncset.FlowRemovedMaskSlave = uint32(decoder.ReadUint32())
return _asyncset, nil
}
func NewAsyncSet() *AsyncSet {
obj := &AsyncSet{
Header: NewHeader(28),
}
return obj
}
type ErrorMsg struct {
*Header
ErrType uint16
}
type IErrorMsg interface {
IHeader
GetErrType() uint16
}
func (self *ErrorMsg) GetErrType() uint16 {
return self.ErrType
}
func (self *ErrorMsg) SetErrType(v uint16) {
self.ErrType = v
}
func (self *ErrorMsg) Serialize(encoder *goloxi.Encoder) error {
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.ErrType))
return nil
}
func DecodeErrorMsg(parent *Header, decoder *goloxi.Decoder) (IErrorMsg, error) {
_errormsg := &ErrorMsg{Header: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("ErrorMsg packet too short: %d < 2", decoder.Length())
}
_errormsg.ErrType = uint16(decoder.ReadUint16())
switch _errormsg.ErrType {
case 0:
return DecodeHelloFailedErrorMsg(_errormsg, decoder)
case 1:
return DecodeBadRequestErrorMsg(_errormsg, decoder)
case 2:
return DecodeBadActionErrorMsg(_errormsg, decoder)
case 3:
return DecodeBadInstructionErrorMsg(_errormsg, decoder)
case 4:
return DecodeBadMatchErrorMsg(_errormsg, decoder)
case 5:
return DecodeFlowModFailedErrorMsg(_errormsg, decoder)
case 6:
return DecodeGroupModFailedErrorMsg(_errormsg, decoder)
case 7:
return DecodePortModFailedErrorMsg(_errormsg, decoder)
case 8:
return DecodeTableModFailedErrorMsg(_errormsg, decoder)
case 9:
return DecodeQueueOpFailedErrorMsg(_errormsg, decoder)
case 10:
return DecodeSwitchConfigFailedErrorMsg(_errormsg, decoder)
case 11:
return DecodeRoleRequestFailedErrorMsg(_errormsg, decoder)
case 12:
return DecodeMeterModFailedErrorMsg(_errormsg, decoder)
case 13:
return DecodeTableFeaturesFailedErrorMsg(_errormsg, decoder)
case 65535:
return DecodeExperimenterErrorMsg(_errormsg, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'ErrorMsg'", _errormsg.ErrType)
}
}
func NewErrorMsg(_err_type uint16) *ErrorMsg {
obj := &ErrorMsg{
Header: NewHeader(1),
}
obj.ErrType = _err_type
return obj
}
type BadActionErrorMsg struct {
*ErrorMsg
Code BadActionCode
Data []byte
}
type IBadActionErrorMsg interface {
IErrorMsg
GetCode() BadActionCode
GetData() []byte
}
func (self *BadActionErrorMsg) GetCode() BadActionCode {
return self.Code
}
func (self *BadActionErrorMsg) SetCode(v BadActionCode) {
self.Code = v
}
func (self *BadActionErrorMsg) GetData() []byte {
return self.Data
}
func (self *BadActionErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *BadActionErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBadActionErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*BadActionErrorMsg, error) {
_badactionerrormsg := &BadActionErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("BadActionErrorMsg packet too short: %d < 2", decoder.Length())
}
_badactionerrormsg.Code = BadActionCode(decoder.ReadUint16())
_badactionerrormsg.Data = decoder.Read(int(decoder.Length()))
return _badactionerrormsg, nil
}
func NewBadActionErrorMsg() *BadActionErrorMsg {
obj := &BadActionErrorMsg{
ErrorMsg: NewErrorMsg(2),
}
return obj
}
type BadInstructionErrorMsg struct {
*ErrorMsg
Code BadInstructionCode
Data []byte
}
type IBadInstructionErrorMsg interface {
IErrorMsg
GetCode() BadInstructionCode
GetData() []byte
}
func (self *BadInstructionErrorMsg) GetCode() BadInstructionCode {
return self.Code
}
func (self *BadInstructionErrorMsg) SetCode(v BadInstructionCode) {
self.Code = v
}
func (self *BadInstructionErrorMsg) GetData() []byte {
return self.Data
}
func (self *BadInstructionErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *BadInstructionErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBadInstructionErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*BadInstructionErrorMsg, error) {
_badinstructionerrormsg := &BadInstructionErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("BadInstructionErrorMsg packet too short: %d < 2", decoder.Length())
}
_badinstructionerrormsg.Code = BadInstructionCode(decoder.ReadUint16())
_badinstructionerrormsg.Data = decoder.Read(int(decoder.Length()))
return _badinstructionerrormsg, nil
}
func NewBadInstructionErrorMsg() *BadInstructionErrorMsg {
obj := &BadInstructionErrorMsg{
ErrorMsg: NewErrorMsg(3),
}
return obj
}
type BadMatchErrorMsg struct {
*ErrorMsg
Code BadMatchCode
Data []byte
}
type IBadMatchErrorMsg interface {
IErrorMsg
GetCode() BadMatchCode
GetData() []byte
}
func (self *BadMatchErrorMsg) GetCode() BadMatchCode {
return self.Code
}
func (self *BadMatchErrorMsg) SetCode(v BadMatchCode) {
self.Code = v
}
func (self *BadMatchErrorMsg) GetData() []byte {
return self.Data
}
func (self *BadMatchErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *BadMatchErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBadMatchErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*BadMatchErrorMsg, error) {
_badmatcherrormsg := &BadMatchErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("BadMatchErrorMsg packet too short: %d < 2", decoder.Length())
}
_badmatcherrormsg.Code = BadMatchCode(decoder.ReadUint16())
_badmatcherrormsg.Data = decoder.Read(int(decoder.Length()))
return _badmatcherrormsg, nil
}
func NewBadMatchErrorMsg() *BadMatchErrorMsg {
obj := &BadMatchErrorMsg{
ErrorMsg: NewErrorMsg(4),
}
return obj
}
type BadRequestErrorMsg struct {
*ErrorMsg
Code BadRequestCode
Data []byte
}
type IBadRequestErrorMsg interface {
IErrorMsg
GetCode() BadRequestCode
GetData() []byte
}
func (self *BadRequestErrorMsg) GetCode() BadRequestCode {
return self.Code
}
func (self *BadRequestErrorMsg) SetCode(v BadRequestCode) {
self.Code = v
}
func (self *BadRequestErrorMsg) GetData() []byte {
return self.Data
}
func (self *BadRequestErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *BadRequestErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBadRequestErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*BadRequestErrorMsg, error) {
_badrequesterrormsg := &BadRequestErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("BadRequestErrorMsg packet too short: %d < 2", decoder.Length())
}
_badrequesterrormsg.Code = BadRequestCode(decoder.ReadUint16())
_badrequesterrormsg.Data = decoder.Read(int(decoder.Length()))
return _badrequesterrormsg, nil
}
func NewBadRequestErrorMsg() *BadRequestErrorMsg {
obj := &BadRequestErrorMsg{
ErrorMsg: NewErrorMsg(1),
}
return obj
}
type BarrierReply struct {
*Header
}
type IBarrierReply interface {
IHeader
}
func (self *BarrierReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBarrierReply(parent *Header, decoder *goloxi.Decoder) (*BarrierReply, error) {
_barrierreply := &BarrierReply{Header: parent}
return _barrierreply, nil
}
func NewBarrierReply() *BarrierReply {
obj := &BarrierReply{
Header: NewHeader(21),
}
return obj
}
type BarrierRequest struct {
*Header
}
type IBarrierRequest interface {
IHeader
}
func (self *BarrierRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBarrierRequest(parent *Header, decoder *goloxi.Decoder) (*BarrierRequest, error) {
_barrierrequest := &BarrierRequest{Header: parent}
return _barrierrequest, nil
}
func NewBarrierRequest() *BarrierRequest {
obj := &BarrierRequest{
Header: NewHeader(20),
}
return obj
}
type Experimenter struct {
*Header
Experimenter uint32
Subtype uint32
}
type IExperimenter interface {
IHeader
GetExperimenter() uint32
GetSubtype() uint32
}
func (self *Experimenter) GetExperimenter() uint32 {
return self.Experimenter
}
func (self *Experimenter) SetExperimenter(v uint32) {
self.Experimenter = v
}
func (self *Experimenter) GetSubtype() uint32 {
return self.Subtype
}
func (self *Experimenter) SetSubtype(v uint32) {
self.Subtype = v
}
func (self *Experimenter) Serialize(encoder *goloxi.Encoder) error {
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Experimenter))
encoder.PutUint32(uint32(self.Subtype))
return nil
}
func DecodeExperimenter(parent *Header, decoder *goloxi.Decoder) (IExperimenter, error) {
_experimenter := &Experimenter{Header: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("Experimenter packet too short: %d < 8", decoder.Length())
}
_experimenter.Experimenter = uint32(decoder.ReadUint32())
_experimenter.Subtype = uint32(decoder.ReadUint32())
switch _experimenter.Experimenter {
case 8992:
return DecodeNiciraHeader(_experimenter, decoder)
case 6035143:
return DecodeBsnHeader(_experimenter, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'Experimenter'", _experimenter.Experimenter)
}
}
func NewExperimenter(_experimenter uint32) *Experimenter {
obj := &Experimenter{
Header: NewHeader(4),
}
obj.Experimenter = _experimenter
return obj
}
type BsnHeader struct {
*Experimenter
}
type IBsnHeader interface {
IExperimenter
}
func (self *BsnHeader) Serialize(encoder *goloxi.Encoder) error {
if err := self.Experimenter.Serialize(encoder); err != nil {
return err
}
return nil
}
func DecodeBsnHeader(parent *Experimenter, decoder *goloxi.Decoder) (IBsnHeader, error) {
_bsnheader := &BsnHeader{Experimenter: parent}
switch _bsnheader.Subtype {
case 3:
return DecodeBsnSetMirroring(_bsnheader, decoder)
case 4:
return DecodeBsnGetMirroringRequest(_bsnheader, decoder)
case 5:
return DecodeBsnGetMirroringReply(_bsnheader, decoder)
case 9:
return DecodeBsnGetInterfacesRequest(_bsnheader, decoder)
case 10:
return DecodeBsnGetInterfacesReply(_bsnheader, decoder)
case 11:
return DecodeBsnSetPktinSuppressionRequest(_bsnheader, decoder)
case 15:
return DecodeBsnVirtualPortCreateRequest(_bsnheader, decoder)
case 16:
return DecodeBsnVirtualPortCreateReply(_bsnheader, decoder)
case 17:
return DecodeBsnVirtualPortRemoveRequest(_bsnheader, decoder)
case 18:
return DecodeBsnBwEnableSetRequest(_bsnheader, decoder)
case 19:
return DecodeBsnBwEnableGetRequest(_bsnheader, decoder)
case 20:
return DecodeBsnBwEnableGetReply(_bsnheader, decoder)
case 21:
return DecodeBsnBwClearDataRequest(_bsnheader, decoder)
case 22:
return DecodeBsnBwClearDataReply(_bsnheader, decoder)
case 23:
return DecodeBsnBwEnableSetReply(_bsnheader, decoder)
case 25:
return DecodeBsnSetPktinSuppressionReply(_bsnheader, decoder)
case 26:
return DecodeBsnVirtualPortRemoveReply(_bsnheader, decoder)
case 31:
return DecodeBsnPduTxRequest(_bsnheader, decoder)
case 32:
return DecodeBsnPduTxReply(_bsnheader, decoder)
case 33:
return DecodeBsnPduRxRequest(_bsnheader, decoder)
case 34:
return DecodeBsnPduRxReply(_bsnheader, decoder)
case 35:
return DecodeBsnPduRxTimeout(_bsnheader, decoder)
case 36:
return DecodeBsnFlowIdleEnableSetRequest(_bsnheader, decoder)
case 37:
return DecodeBsnFlowIdleEnableSetReply(_bsnheader, decoder)
case 38:
return DecodeBsnFlowIdleEnableGetRequest(_bsnheader, decoder)
case 39:
return DecodeBsnFlowIdleEnableGetReply(_bsnheader, decoder)
case 40:
return DecodeBsnFlowIdle(_bsnheader, decoder)
case 41:
return DecodeBsnSetLacpRequest(_bsnheader, decoder)
case 42:
return DecodeBsnSetLacpReply(_bsnheader, decoder)
case 43:
return DecodeBsnLacpConvergenceNotif(_bsnheader, decoder)
case 44:
return DecodeBsnTimeRequest(_bsnheader, decoder)
case 45:
return DecodeBsnTimeReply(_bsnheader, decoder)
case 46:
return DecodeBsnGentableEntryAdd(_bsnheader, decoder)
case 47:
return DecodeBsnGentableEntryDelete(_bsnheader, decoder)
case 48:
return DecodeBsnGentableClearRequest(_bsnheader, decoder)
case 49:
return DecodeBsnGentableClearReply(_bsnheader, decoder)
case 50:
return DecodeBsnGentableSetBucketsSize(_bsnheader, decoder)
case 51:
return DecodeBsnGetSwitchPipelineRequest(_bsnheader, decoder)
case 52:
return DecodeBsnGetSwitchPipelineReply(_bsnheader, decoder)
case 53:
return DecodeBsnSetSwitchPipelineRequest(_bsnheader, decoder)
case 54:
return DecodeBsnSetSwitchPipelineReply(_bsnheader, decoder)
case 55:
return DecodeBsnRoleStatus(_bsnheader, decoder)
case 56:
return DecodeBsnControllerConnectionsRequest(_bsnheader, decoder)
case 57:
return DecodeBsnControllerConnectionsReply(_bsnheader, decoder)
case 58:
return DecodeBsnSetAuxCxnsRequest(_bsnheader, decoder)
case 59:
return DecodeBsnSetAuxCxnsReply(_bsnheader, decoder)
case 60:
return DecodeBsnArpIdle(_bsnheader, decoder)
case 61:
return DecodeBsnTableSetBucketsSize(_bsnheader, decoder)
case 63:
return DecodeBsnLog(_bsnheader, decoder)
case 64:
return DecodeBsnLuaUpload(_bsnheader, decoder)
case 65:
return DecodeBsnLuaCommandRequest(_bsnheader, decoder)
case 66:
return DecodeBsnLuaCommandReply(_bsnheader, decoder)
case 67:
return DecodeBsnLuaNotification(_bsnheader, decoder)
case 70:
return DecodeBsnVlanCounterClear(_bsnheader, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'BsnHeader'", _bsnheader.Subtype)
}
}
func NewBsnHeader(_subtype uint32) *BsnHeader {
obj := &BsnHeader{
Experimenter: NewExperimenter(6035143),
}
obj.Subtype = _subtype
return obj
}
type BsnArpIdle struct {
*BsnHeader
VlanVid uint16
Ipv4Addr net.IP
}
type IBsnArpIdle interface {
IBsnHeader
GetVlanVid() uint16
GetIpv4Addr() net.IP
}
func (self *BsnArpIdle) GetVlanVid() uint16 {
return self.VlanVid
}
func (self *BsnArpIdle) SetVlanVid(v uint16) {
self.VlanVid = v
}
func (self *BsnArpIdle) GetIpv4Addr() net.IP {
return self.Ipv4Addr
}
func (self *BsnArpIdle) SetIpv4Addr(v net.IP) {
self.Ipv4Addr = v
}
func (self *BsnArpIdle) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.VlanVid))
encoder.Write(bytes.Repeat([]byte{0}, 2))
encoder.Write(self.Ipv4Addr.To4())
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnArpIdle(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnArpIdle, error) {
_bsnarpidle := &BsnArpIdle{BsnHeader: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("BsnArpIdle packet too short: %d < 8", decoder.Length())
}
_bsnarpidle.VlanVid = uint16(decoder.ReadUint16())
decoder.Skip(2)
_bsnarpidle.Ipv4Addr = net.IP(decoder.Read(4))
return _bsnarpidle, nil
}
func NewBsnArpIdle() *BsnArpIdle {
obj := &BsnArpIdle{
BsnHeader: NewBsnHeader(60),
}
return obj
}
type ExperimenterErrorMsg struct {
*ErrorMsg
Subtype uint16
Experimenter uint32
}
type IExperimenterErrorMsg interface {
IErrorMsg
GetSubtype() uint16
GetExperimenter() uint32
}
func (self *ExperimenterErrorMsg) GetSubtype() uint16 {
return self.Subtype
}
func (self *ExperimenterErrorMsg) SetSubtype(v uint16) {
self.Subtype = v
}
func (self *ExperimenterErrorMsg) GetExperimenter() uint32 {
return self.Experimenter
}
func (self *ExperimenterErrorMsg) SetExperimenter(v uint32) {
self.Experimenter = v
}
func (self *ExperimenterErrorMsg) Serialize(encoder *goloxi.Encoder) error {
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Subtype))
encoder.PutUint32(uint32(self.Experimenter))
return nil
}
func DecodeExperimenterErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (IExperimenterErrorMsg, error) {
_experimentererrormsg := &ExperimenterErrorMsg{ErrorMsg: parent}
if decoder.Length() < 6 {
return nil, fmt.Errorf("ExperimenterErrorMsg packet too short: %d < 6", decoder.Length())
}
_experimentererrormsg.Subtype = uint16(decoder.ReadUint16())
_experimentererrormsg.Experimenter = uint32(decoder.ReadUint32())
switch _experimentererrormsg.Experimenter {
case 6035143:
return DecodeBsnBaseError(_experimentererrormsg, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'ExperimenterErrorMsg'", _experimentererrormsg.Experimenter)
}
}
func NewExperimenterErrorMsg(_experimenter uint32) *ExperimenterErrorMsg {
obj := &ExperimenterErrorMsg{
ErrorMsg: NewErrorMsg(65535),
}
obj.Experimenter = _experimenter
return obj
}
type BsnBaseError struct {
*ExperimenterErrorMsg
ErrMsg string
}
type IBsnBaseError interface {
IExperimenterErrorMsg
GetErrMsg() string
}
func (self *BsnBaseError) GetErrMsg() string {
return self.ErrMsg
}
func (self *BsnBaseError) SetErrMsg(v string) {
self.ErrMsg = v
}
func (self *BsnBaseError) Serialize(encoder *goloxi.Encoder) error {
if err := self.ExperimenterErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.Write([]byte(self.ErrMsg))
return nil
}
func DecodeBsnBaseError(parent *ExperimenterErrorMsg, decoder *goloxi.Decoder) (IBsnBaseError, error) {
_bsnbaseerror := &BsnBaseError{ExperimenterErrorMsg: parent}
if decoder.Length() < 256 {
return nil, fmt.Errorf("BsnBaseError packet too short: %d < 256", decoder.Length())
}
_bsnbaseerror.ErrMsg = string(bytes.Trim(decoder.Read(256), "\x00"))
switch _bsnbaseerror.Subtype {
case 1:
return DecodeBsnError(_bsnbaseerror, decoder)
case 2:
return DecodeBsnGentableError(_bsnbaseerror, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'BsnBaseError'", _bsnbaseerror.Subtype)
}
}
func NewBsnBaseError(_subtype uint16) *BsnBaseError {
obj := &BsnBaseError{
ExperimenterErrorMsg: NewExperimenterErrorMsg(6035143),
}
obj.Subtype = _subtype
return obj
}
type BsnBwClearDataReply struct {
*BsnHeader
Status uint32
}
type IBsnBwClearDataReply interface {
IBsnHeader
GetStatus() uint32
}
func (self *BsnBwClearDataReply) GetStatus() uint32 {
return self.Status
}
func (self *BsnBwClearDataReply) SetStatus(v uint32) {
self.Status = v
}
func (self *BsnBwClearDataReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Status))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnBwClearDataReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnBwClearDataReply, error) {
_bsnbwcleardatareply := &BsnBwClearDataReply{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnBwClearDataReply packet too short: %d < 4", decoder.Length())
}
_bsnbwcleardatareply.Status = uint32(decoder.ReadUint32())
return _bsnbwcleardatareply, nil
}
func NewBsnBwClearDataReply() *BsnBwClearDataReply {
obj := &BsnBwClearDataReply{
BsnHeader: NewBsnHeader(22),
}
return obj
}
type BsnBwClearDataRequest struct {
*BsnHeader
}
type IBsnBwClearDataRequest interface {
IBsnHeader
}
func (self *BsnBwClearDataRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnBwClearDataRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnBwClearDataRequest, error) {
_bsnbwcleardatarequest := &BsnBwClearDataRequest{BsnHeader: parent}
return _bsnbwcleardatarequest, nil
}
func NewBsnBwClearDataRequest() *BsnBwClearDataRequest {
obj := &BsnBwClearDataRequest{
BsnHeader: NewBsnHeader(21),
}
return obj
}
type BsnBwEnableGetReply struct {
*BsnHeader
Enabled uint32
}
type IBsnBwEnableGetReply interface {
IBsnHeader
GetEnabled() uint32
}
func (self *BsnBwEnableGetReply) GetEnabled() uint32 {
return self.Enabled
}
func (self *BsnBwEnableGetReply) SetEnabled(v uint32) {
self.Enabled = v
}
func (self *BsnBwEnableGetReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Enabled))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnBwEnableGetReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnBwEnableGetReply, error) {
_bsnbwenablegetreply := &BsnBwEnableGetReply{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnBwEnableGetReply packet too short: %d < 4", decoder.Length())
}
_bsnbwenablegetreply.Enabled = uint32(decoder.ReadUint32())
return _bsnbwenablegetreply, nil
}
func NewBsnBwEnableGetReply() *BsnBwEnableGetReply {
obj := &BsnBwEnableGetReply{
BsnHeader: NewBsnHeader(20),
}
return obj
}
type BsnBwEnableGetRequest struct {
*BsnHeader
}
type IBsnBwEnableGetRequest interface {
IBsnHeader
}
func (self *BsnBwEnableGetRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnBwEnableGetRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnBwEnableGetRequest, error) {
_bsnbwenablegetrequest := &BsnBwEnableGetRequest{BsnHeader: parent}
return _bsnbwenablegetrequest, nil
}
func NewBsnBwEnableGetRequest() *BsnBwEnableGetRequest {
obj := &BsnBwEnableGetRequest{
BsnHeader: NewBsnHeader(19),
}
return obj
}
type BsnBwEnableSetReply struct {
*BsnHeader
Enable uint32
Status uint32
}
type IBsnBwEnableSetReply interface {
IBsnHeader
GetEnable() uint32
GetStatus() uint32
}
func (self *BsnBwEnableSetReply) GetEnable() uint32 {
return self.Enable
}
func (self *BsnBwEnableSetReply) SetEnable(v uint32) {
self.Enable = v
}
func (self *BsnBwEnableSetReply) GetStatus() uint32 {
return self.Status
}
func (self *BsnBwEnableSetReply) SetStatus(v uint32) {
self.Status = v
}
func (self *BsnBwEnableSetReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Enable))
encoder.PutUint32(uint32(self.Status))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnBwEnableSetReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnBwEnableSetReply, error) {
_bsnbwenablesetreply := &BsnBwEnableSetReply{BsnHeader: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("BsnBwEnableSetReply packet too short: %d < 8", decoder.Length())
}
_bsnbwenablesetreply.Enable = uint32(decoder.ReadUint32())
_bsnbwenablesetreply.Status = uint32(decoder.ReadUint32())
return _bsnbwenablesetreply, nil
}
func NewBsnBwEnableSetReply() *BsnBwEnableSetReply {
obj := &BsnBwEnableSetReply{
BsnHeader: NewBsnHeader(23),
}
return obj
}
type BsnBwEnableSetRequest struct {
*BsnHeader
Enable uint32
}
type IBsnBwEnableSetRequest interface {
IBsnHeader
GetEnable() uint32
}
func (self *BsnBwEnableSetRequest) GetEnable() uint32 {
return self.Enable
}
func (self *BsnBwEnableSetRequest) SetEnable(v uint32) {
self.Enable = v
}
func (self *BsnBwEnableSetRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Enable))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnBwEnableSetRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnBwEnableSetRequest, error) {
_bsnbwenablesetrequest := &BsnBwEnableSetRequest{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnBwEnableSetRequest packet too short: %d < 4", decoder.Length())
}
_bsnbwenablesetrequest.Enable = uint32(decoder.ReadUint32())
return _bsnbwenablesetrequest, nil
}
func NewBsnBwEnableSetRequest() *BsnBwEnableSetRequest {
obj := &BsnBwEnableSetRequest{
BsnHeader: NewBsnHeader(18),
}
return obj
}
type BsnControllerConnectionsReply struct {
*BsnHeader
Connections []*BsnControllerConnection
}
type IBsnControllerConnectionsReply interface {
IBsnHeader
GetConnections() []*BsnControllerConnection
}
func (self *BsnControllerConnectionsReply) GetConnections() []*BsnControllerConnection {
return self.Connections
}
func (self *BsnControllerConnectionsReply) SetConnections(v []*BsnControllerConnection) {
self.Connections = v
}
func (self *BsnControllerConnectionsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Connections {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnControllerConnectionsReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnControllerConnectionsReply, error) {
_bsncontrollerconnectionsreply := &BsnControllerConnectionsReply{BsnHeader: parent}
for decoder.Length() >= 264 {
item, err := DecodeBsnControllerConnection(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsncontrollerconnectionsreply.Connections = append(_bsncontrollerconnectionsreply.Connections, item)
}
}
return _bsncontrollerconnectionsreply, nil
}
func NewBsnControllerConnectionsReply() *BsnControllerConnectionsReply {
obj := &BsnControllerConnectionsReply{
BsnHeader: NewBsnHeader(57),
}
return obj
}
type BsnControllerConnectionsRequest struct {
*BsnHeader
}
type IBsnControllerConnectionsRequest interface {
IBsnHeader
}
func (self *BsnControllerConnectionsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnControllerConnectionsRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnControllerConnectionsRequest, error) {
_bsncontrollerconnectionsrequest := &BsnControllerConnectionsRequest{BsnHeader: parent}
return _bsncontrollerconnectionsrequest, nil
}
func NewBsnControllerConnectionsRequest() *BsnControllerConnectionsRequest {
obj := &BsnControllerConnectionsRequest{
BsnHeader: NewBsnHeader(56),
}
return obj
}
type ExperimenterStatsReply struct {
*StatsReply
Experimenter uint32
Subtype uint32
}
type IExperimenterStatsReply interface {
IStatsReply
GetExperimenter() uint32
GetSubtype() uint32
}
func (self *ExperimenterStatsReply) GetExperimenter() uint32 {
return self.Experimenter
}
func (self *ExperimenterStatsReply) SetExperimenter(v uint32) {
self.Experimenter = v
}
func (self *ExperimenterStatsReply) GetSubtype() uint32 {
return self.Subtype
}
func (self *ExperimenterStatsReply) SetSubtype(v uint32) {
self.Subtype = v
}
func (self *ExperimenterStatsReply) Serialize(encoder *goloxi.Encoder) error {
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint32(uint32(self.Experimenter))
encoder.PutUint32(uint32(self.Subtype))
return nil
}
func DecodeExperimenterStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (IExperimenterStatsReply, error) {
_experimenterstatsreply := &ExperimenterStatsReply{StatsReply: parent}
if decoder.Length() < 12 {
return nil, fmt.Errorf("ExperimenterStatsReply packet too short: %d < 12", decoder.Length())
}
decoder.Skip(4)
_experimenterstatsreply.Experimenter = uint32(decoder.ReadUint32())
_experimenterstatsreply.Subtype = uint32(decoder.ReadUint32())
switch _experimenterstatsreply.Experimenter {
case 8992:
return DecodeNiciraStatsReply(_experimenterstatsreply, decoder)
case 6035143:
return DecodeBsnStatsReply(_experimenterstatsreply, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'ExperimenterStatsReply'", _experimenterstatsreply.Experimenter)
}
}
func NewExperimenterStatsReply(_experimenter uint32) *ExperimenterStatsReply {
obj := &ExperimenterStatsReply{
StatsReply: NewStatsReply(65535),
}
obj.Experimenter = _experimenter
return obj
}
type BsnStatsReply struct {
*ExperimenterStatsReply
}
type IBsnStatsReply interface {
IExperimenterStatsReply
}
func (self *BsnStatsReply) Serialize(encoder *goloxi.Encoder) error {
if err := self.ExperimenterStatsReply.Serialize(encoder); err != nil {
return err
}
return nil
}
func DecodeBsnStatsReply(parent *ExperimenterStatsReply, decoder *goloxi.Decoder) (IBsnStatsReply, error) {
_bsnstatsreply := &BsnStatsReply{ExperimenterStatsReply: parent}
switch _bsnstatsreply.Subtype {
case 1:
return DecodeBsnLacpStatsReply(_bsnstatsreply, decoder)
case 2:
return DecodeBsnGentableEntryDescStatsReply(_bsnstatsreply, decoder)
case 3:
return DecodeBsnGentableEntryStatsReply(_bsnstatsreply, decoder)
case 4:
return DecodeBsnGentableDescStatsReply(_bsnstatsreply, decoder)
case 5:
return DecodeBsnGentableBucketStatsReply(_bsnstatsreply, decoder)
case 6:
return DecodeBsnSwitchPipelineStatsReply(_bsnstatsreply, decoder)
case 7:
return DecodeBsnGentableStatsReply(_bsnstatsreply, decoder)
case 8:
return DecodeBsnPortCounterStatsReply(_bsnstatsreply, decoder)
case 9:
return DecodeBsnVlanCounterStatsReply(_bsnstatsreply, decoder)
case 10:
return DecodeBsnFlowChecksumBucketStatsReply(_bsnstatsreply, decoder)
case 11:
return DecodeBsnTableChecksumStatsReply(_bsnstatsreply, decoder)
case 12:
return DecodeBsnDebugCounterStatsReply(_bsnstatsreply, decoder)
case 13:
return DecodeBsnDebugCounterDescStatsReply(_bsnstatsreply, decoder)
case 14:
return DecodeBsnImageDescStatsReply(_bsnstatsreply, decoder)
case 15:
return DecodeBsnVrfCounterStatsReply(_bsnstatsreply, decoder)
case 16:
return DecodeBsnGenericStatsReply(_bsnstatsreply, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'BsnStatsReply'", _bsnstatsreply.Subtype)
}
}
func NewBsnStatsReply(_subtype uint32) *BsnStatsReply {
obj := &BsnStatsReply{
ExperimenterStatsReply: NewExperimenterStatsReply(6035143),
}
obj.Subtype = _subtype
return obj
}
type BsnDebugCounterDescStatsReply struct {
*BsnStatsReply
Entries []*BsnDebugCounterDescStatsEntry
}
type IBsnDebugCounterDescStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnDebugCounterDescStatsEntry
}
func (self *BsnDebugCounterDescStatsReply) GetEntries() []*BsnDebugCounterDescStatsEntry {
return self.Entries
}
func (self *BsnDebugCounterDescStatsReply) SetEntries(v []*BsnDebugCounterDescStatsEntry) {
self.Entries = v
}
func (self *BsnDebugCounterDescStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnDebugCounterDescStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnDebugCounterDescStatsReply, error) {
_bsndebugcounterdescstatsreply := &BsnDebugCounterDescStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 328 {
item, err := DecodeBsnDebugCounterDescStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsndebugcounterdescstatsreply.Entries = append(_bsndebugcounterdescstatsreply.Entries, item)
}
}
return _bsndebugcounterdescstatsreply, nil
}
func NewBsnDebugCounterDescStatsReply() *BsnDebugCounterDescStatsReply {
obj := &BsnDebugCounterDescStatsReply{
BsnStatsReply: NewBsnStatsReply(13),
}
return obj
}
type ExperimenterStatsRequest struct {
*StatsRequest
Experimenter uint32
Subtype uint32
}
type IExperimenterStatsRequest interface {
IStatsRequest
GetExperimenter() uint32
GetSubtype() uint32
}
func (self *ExperimenterStatsRequest) GetExperimenter() uint32 {
return self.Experimenter
}
func (self *ExperimenterStatsRequest) SetExperimenter(v uint32) {
self.Experimenter = v
}
func (self *ExperimenterStatsRequest) GetSubtype() uint32 {
return self.Subtype
}
func (self *ExperimenterStatsRequest) SetSubtype(v uint32) {
self.Subtype = v
}
func (self *ExperimenterStatsRequest) Serialize(encoder *goloxi.Encoder) error {
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint32(uint32(self.Experimenter))
encoder.PutUint32(uint32(self.Subtype))
return nil
}
func DecodeExperimenterStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (IExperimenterStatsRequest, error) {
_experimenterstatsrequest := &ExperimenterStatsRequest{StatsRequest: parent}
if decoder.Length() < 12 {
return nil, fmt.Errorf("ExperimenterStatsRequest packet too short: %d < 12", decoder.Length())
}
decoder.Skip(4)
_experimenterstatsrequest.Experimenter = uint32(decoder.ReadUint32())
_experimenterstatsrequest.Subtype = uint32(decoder.ReadUint32())
switch _experimenterstatsrequest.Experimenter {
case 8992:
return DecodeNiciraFlowStatsRequest(_experimenterstatsrequest, decoder)
case 6035143:
return DecodeBsnStatsRequest(_experimenterstatsrequest, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'ExperimenterStatsRequest'", _experimenterstatsrequest.Experimenter)
}
}
func NewExperimenterStatsRequest(_experimenter uint32) *ExperimenterStatsRequest {
obj := &ExperimenterStatsRequest{
StatsRequest: NewStatsRequest(65535),
}
obj.Experimenter = _experimenter
return obj
}
type BsnStatsRequest struct {
*ExperimenterStatsRequest
}
type IBsnStatsRequest interface {
IExperimenterStatsRequest
}
func (self *BsnStatsRequest) Serialize(encoder *goloxi.Encoder) error {
if err := self.ExperimenterStatsRequest.Serialize(encoder); err != nil {
return err
}
return nil
}
func DecodeBsnStatsRequest(parent *ExperimenterStatsRequest, decoder *goloxi.Decoder) (IBsnStatsRequest, error) {
_bsnstatsrequest := &BsnStatsRequest{ExperimenterStatsRequest: parent}
switch _bsnstatsrequest.Subtype {
case 1:
return DecodeBsnLacpStatsRequest(_bsnstatsrequest, decoder)
case 2:
return DecodeBsnGentableEntryDescStatsRequest(_bsnstatsrequest, decoder)
case 3:
return DecodeBsnGentableEntryStatsRequest(_bsnstatsrequest, decoder)
case 4:
return DecodeBsnGentableDescStatsRequest(_bsnstatsrequest, decoder)
case 5:
return DecodeBsnGentableBucketStatsRequest(_bsnstatsrequest, decoder)
case 6:
return DecodeBsnSwitchPipelineStatsRequest(_bsnstatsrequest, decoder)
case 7:
return DecodeBsnGentableStatsRequest(_bsnstatsrequest, decoder)
case 8:
return DecodeBsnPortCounterStatsRequest(_bsnstatsrequest, decoder)
case 9:
return DecodeBsnVlanCounterStatsRequest(_bsnstatsrequest, decoder)
case 10:
return DecodeBsnFlowChecksumBucketStatsRequest(_bsnstatsrequest, decoder)
case 11:
return DecodeBsnTableChecksumStatsRequest(_bsnstatsrequest, decoder)
case 12:
return DecodeBsnDebugCounterStatsRequest(_bsnstatsrequest, decoder)
case 13:
return DecodeBsnDebugCounterDescStatsRequest(_bsnstatsrequest, decoder)
case 14:
return DecodeBsnImageDescStatsRequest(_bsnstatsrequest, decoder)
case 15:
return DecodeBsnVrfCounterStatsRequest(_bsnstatsrequest, decoder)
case 16:
return DecodeBsnGenericStatsRequest(_bsnstatsrequest, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'BsnStatsRequest'", _bsnstatsrequest.Subtype)
}
}
func NewBsnStatsRequest(_subtype uint32) *BsnStatsRequest {
obj := &BsnStatsRequest{
ExperimenterStatsRequest: NewExperimenterStatsRequest(6035143),
}
obj.Subtype = _subtype
return obj
}
type BsnDebugCounterDescStatsRequest struct {
*BsnStatsRequest
}
type IBsnDebugCounterDescStatsRequest interface {
IBsnStatsRequest
}
func (self *BsnDebugCounterDescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnDebugCounterDescStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnDebugCounterDescStatsRequest, error) {
_bsndebugcounterdescstatsrequest := &BsnDebugCounterDescStatsRequest{BsnStatsRequest: parent}
return _bsndebugcounterdescstatsrequest, nil
}
func NewBsnDebugCounterDescStatsRequest() *BsnDebugCounterDescStatsRequest {
obj := &BsnDebugCounterDescStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(13),
}
return obj
}
type BsnDebugCounterStatsReply struct {
*BsnStatsReply
Entries []*BsnDebugCounterStatsEntry
}
type IBsnDebugCounterStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnDebugCounterStatsEntry
}
func (self *BsnDebugCounterStatsReply) GetEntries() []*BsnDebugCounterStatsEntry {
return self.Entries
}
func (self *BsnDebugCounterStatsReply) SetEntries(v []*BsnDebugCounterStatsEntry) {
self.Entries = v
}
func (self *BsnDebugCounterStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnDebugCounterStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnDebugCounterStatsReply, error) {
_bsndebugcounterstatsreply := &BsnDebugCounterStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 16 {
item, err := DecodeBsnDebugCounterStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsndebugcounterstatsreply.Entries = append(_bsndebugcounterstatsreply.Entries, item)
}
}
return _bsndebugcounterstatsreply, nil
}
func NewBsnDebugCounterStatsReply() *BsnDebugCounterStatsReply {
obj := &BsnDebugCounterStatsReply{
BsnStatsReply: NewBsnStatsReply(12),
}
return obj
}
type BsnDebugCounterStatsRequest struct {
*BsnStatsRequest
}
type IBsnDebugCounterStatsRequest interface {
IBsnStatsRequest
}
func (self *BsnDebugCounterStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnDebugCounterStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnDebugCounterStatsRequest, error) {
_bsndebugcounterstatsrequest := &BsnDebugCounterStatsRequest{BsnStatsRequest: parent}
return _bsndebugcounterstatsrequest, nil
}
func NewBsnDebugCounterStatsRequest() *BsnDebugCounterStatsRequest {
obj := &BsnDebugCounterStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(12),
}
return obj
}
type BsnError struct {
*BsnBaseError
}
type IBsnError interface {
IBsnBaseError
}
func (self *BsnError) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnBaseError.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnError(parent *BsnBaseError, decoder *goloxi.Decoder) (*BsnError, error) {
_bsnerror := &BsnError{BsnBaseError: parent}
return _bsnerror, nil
}
func NewBsnError() *BsnError {
obj := &BsnError{
BsnBaseError: NewBsnBaseError(1),
}
return obj
}
type BsnFlowChecksumBucketStatsReply struct {
*BsnStatsReply
Entries []*BsnFlowChecksumBucketStatsEntry
}
type IBsnFlowChecksumBucketStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnFlowChecksumBucketStatsEntry
}
func (self *BsnFlowChecksumBucketStatsReply) GetEntries() []*BsnFlowChecksumBucketStatsEntry {
return self.Entries
}
func (self *BsnFlowChecksumBucketStatsReply) SetEntries(v []*BsnFlowChecksumBucketStatsEntry) {
self.Entries = v
}
func (self *BsnFlowChecksumBucketStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnFlowChecksumBucketStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnFlowChecksumBucketStatsReply, error) {
_bsnflowchecksumbucketstatsreply := &BsnFlowChecksumBucketStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 8 {
item, err := DecodeBsnFlowChecksumBucketStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsnflowchecksumbucketstatsreply.Entries = append(_bsnflowchecksumbucketstatsreply.Entries, item)
}
}
return _bsnflowchecksumbucketstatsreply, nil
}
func NewBsnFlowChecksumBucketStatsReply() *BsnFlowChecksumBucketStatsReply {
obj := &BsnFlowChecksumBucketStatsReply{
BsnStatsReply: NewBsnStatsReply(10),
}
return obj
}
type BsnFlowChecksumBucketStatsRequest struct {
*BsnStatsRequest
TableId uint8
}
type IBsnFlowChecksumBucketStatsRequest interface {
IBsnStatsRequest
GetTableId() uint8
}
func (self *BsnFlowChecksumBucketStatsRequest) GetTableId() uint8 {
return self.TableId
}
func (self *BsnFlowChecksumBucketStatsRequest) SetTableId(v uint8) {
self.TableId = v
}
func (self *BsnFlowChecksumBucketStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.PutUint8(uint8(self.TableId))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnFlowChecksumBucketStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnFlowChecksumBucketStatsRequest, error) {
_bsnflowchecksumbucketstatsrequest := &BsnFlowChecksumBucketStatsRequest{BsnStatsRequest: parent}
if decoder.Length() < 1 {
return nil, fmt.Errorf("BsnFlowChecksumBucketStatsRequest packet too short: %d < 1", decoder.Length())
}
_bsnflowchecksumbucketstatsrequest.TableId = uint8(decoder.ReadByte())
return _bsnflowchecksumbucketstatsrequest, nil
}
func NewBsnFlowChecksumBucketStatsRequest() *BsnFlowChecksumBucketStatsRequest {
obj := &BsnFlowChecksumBucketStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(10),
}
return obj
}
type BsnFlowIdle struct {
*BsnHeader
Cookie uint64
Priority uint16
TableId uint8
Match Match
}
type IBsnFlowIdle interface {
IBsnHeader
GetCookie() uint64
GetPriority() uint16
GetTableId() uint8
GetMatch() Match
}
func (self *BsnFlowIdle) GetCookie() uint64 {
return self.Cookie
}
func (self *BsnFlowIdle) SetCookie(v uint64) {
self.Cookie = v
}
func (self *BsnFlowIdle) GetPriority() uint16 {
return self.Priority
}
func (self *BsnFlowIdle) SetPriority(v uint16) {
self.Priority = v
}
func (self *BsnFlowIdle) GetTableId() uint8 {
return self.TableId
}
func (self *BsnFlowIdle) SetTableId(v uint8) {
self.TableId = v
}
func (self *BsnFlowIdle) GetMatch() Match {
return self.Match
}
func (self *BsnFlowIdle) SetMatch(v Match) {
self.Match = v
}
func (self *BsnFlowIdle) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint64(uint64(self.Cookie))
encoder.PutUint16(uint16(self.Priority))
encoder.PutUint8(uint8(self.TableId))
encoder.Write(bytes.Repeat([]byte{0}, 5))
if err := self.Match.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnFlowIdle(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnFlowIdle, error) {
_bsnflowidle := &BsnFlowIdle{BsnHeader: parent}
if decoder.Length() < 24 {
return nil, fmt.Errorf("BsnFlowIdle packet too short: %d < 24", decoder.Length())
}
_bsnflowidle.Cookie = uint64(decoder.ReadUint64())
_bsnflowidle.Priority = uint16(decoder.ReadUint16())
_bsnflowidle.TableId = uint8(decoder.ReadByte())
decoder.Skip(5)
if err := _bsnflowidle.Match.Decode(decoder); err != nil {
return nil, err
}
decoder.SkipAlign()
return _bsnflowidle, nil
}
func NewBsnFlowIdle() *BsnFlowIdle {
obj := &BsnFlowIdle{
BsnHeader: NewBsnHeader(40),
}
return obj
}
type BsnFlowIdleEnableGetReply struct {
*BsnHeader
Enabled uint32
}
type IBsnFlowIdleEnableGetReply interface {
IBsnHeader
GetEnabled() uint32
}
func (self *BsnFlowIdleEnableGetReply) GetEnabled() uint32 {
return self.Enabled
}
func (self *BsnFlowIdleEnableGetReply) SetEnabled(v uint32) {
self.Enabled = v
}
func (self *BsnFlowIdleEnableGetReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Enabled))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnFlowIdleEnableGetReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnFlowIdleEnableGetReply, error) {
_bsnflowidleenablegetreply := &BsnFlowIdleEnableGetReply{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnFlowIdleEnableGetReply packet too short: %d < 4", decoder.Length())
}
_bsnflowidleenablegetreply.Enabled = uint32(decoder.ReadUint32())
return _bsnflowidleenablegetreply, nil
}
func NewBsnFlowIdleEnableGetReply() *BsnFlowIdleEnableGetReply {
obj := &BsnFlowIdleEnableGetReply{
BsnHeader: NewBsnHeader(39),
}
return obj
}
type BsnFlowIdleEnableGetRequest struct {
*BsnHeader
}
type IBsnFlowIdleEnableGetRequest interface {
IBsnHeader
}
func (self *BsnFlowIdleEnableGetRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnFlowIdleEnableGetRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnFlowIdleEnableGetRequest, error) {
_bsnflowidleenablegetrequest := &BsnFlowIdleEnableGetRequest{BsnHeader: parent}
return _bsnflowidleenablegetrequest, nil
}
func NewBsnFlowIdleEnableGetRequest() *BsnFlowIdleEnableGetRequest {
obj := &BsnFlowIdleEnableGetRequest{
BsnHeader: NewBsnHeader(38),
}
return obj
}
type BsnFlowIdleEnableSetReply struct {
*BsnHeader
Enable uint32
Status uint32
}
type IBsnFlowIdleEnableSetReply interface {
IBsnHeader
GetEnable() uint32
GetStatus() uint32
}
func (self *BsnFlowIdleEnableSetReply) GetEnable() uint32 {
return self.Enable
}
func (self *BsnFlowIdleEnableSetReply) SetEnable(v uint32) {
self.Enable = v
}
func (self *BsnFlowIdleEnableSetReply) GetStatus() uint32 {
return self.Status
}
func (self *BsnFlowIdleEnableSetReply) SetStatus(v uint32) {
self.Status = v
}
func (self *BsnFlowIdleEnableSetReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Enable))
encoder.PutUint32(uint32(self.Status))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnFlowIdleEnableSetReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnFlowIdleEnableSetReply, error) {
_bsnflowidleenablesetreply := &BsnFlowIdleEnableSetReply{BsnHeader: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("BsnFlowIdleEnableSetReply packet too short: %d < 8", decoder.Length())
}
_bsnflowidleenablesetreply.Enable = uint32(decoder.ReadUint32())
_bsnflowidleenablesetreply.Status = uint32(decoder.ReadUint32())
return _bsnflowidleenablesetreply, nil
}
func NewBsnFlowIdleEnableSetReply() *BsnFlowIdleEnableSetReply {
obj := &BsnFlowIdleEnableSetReply{
BsnHeader: NewBsnHeader(37),
}
return obj
}
type BsnFlowIdleEnableSetRequest struct {
*BsnHeader
Enable uint32
}
type IBsnFlowIdleEnableSetRequest interface {
IBsnHeader
GetEnable() uint32
}
func (self *BsnFlowIdleEnableSetRequest) GetEnable() uint32 {
return self.Enable
}
func (self *BsnFlowIdleEnableSetRequest) SetEnable(v uint32) {
self.Enable = v
}
func (self *BsnFlowIdleEnableSetRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Enable))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnFlowIdleEnableSetRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnFlowIdleEnableSetRequest, error) {
_bsnflowidleenablesetrequest := &BsnFlowIdleEnableSetRequest{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnFlowIdleEnableSetRequest packet too short: %d < 4", decoder.Length())
}
_bsnflowidleenablesetrequest.Enable = uint32(decoder.ReadUint32())
return _bsnflowidleenablesetrequest, nil
}
func NewBsnFlowIdleEnableSetRequest() *BsnFlowIdleEnableSetRequest {
obj := &BsnFlowIdleEnableSetRequest{
BsnHeader: NewBsnHeader(36),
}
return obj
}
type BsnGenericStatsReply struct {
*BsnStatsReply
Entries []*BsnGenericStatsEntry
}
type IBsnGenericStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnGenericStatsEntry
}
func (self *BsnGenericStatsReply) GetEntries() []*BsnGenericStatsEntry {
return self.Entries
}
func (self *BsnGenericStatsReply) SetEntries(v []*BsnGenericStatsEntry) {
self.Entries = v
}
func (self *BsnGenericStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGenericStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnGenericStatsReply, error) {
_bsngenericstatsreply := &BsnGenericStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 2 {
item, err := DecodeBsnGenericStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsngenericstatsreply.Entries = append(_bsngenericstatsreply.Entries, item)
}
}
return _bsngenericstatsreply, nil
}
func NewBsnGenericStatsReply() *BsnGenericStatsReply {
obj := &BsnGenericStatsReply{
BsnStatsReply: NewBsnStatsReply(16),
}
return obj
}
type BsnGenericStatsRequest struct {
*BsnStatsRequest
Name string
Tlvs []IBsnTlv
}
type IBsnGenericStatsRequest interface {
IBsnStatsRequest
GetName() string
GetTlvs() []IBsnTlv
}
func (self *BsnGenericStatsRequest) GetName() string {
return self.Name
}
func (self *BsnGenericStatsRequest) SetName(v string) {
self.Name = v
}
func (self *BsnGenericStatsRequest) GetTlvs() []IBsnTlv {
return self.Tlvs
}
func (self *BsnGenericStatsRequest) SetTlvs(v []IBsnTlv) {
self.Tlvs = v
}
func (self *BsnGenericStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write([]byte(self.Name))
for _, obj := range self.Tlvs {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGenericStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnGenericStatsRequest, error) {
_bsngenericstatsrequest := &BsnGenericStatsRequest{BsnStatsRequest: parent}
if decoder.Length() < 64 {
return nil, fmt.Errorf("BsnGenericStatsRequest packet too short: %d < 64", decoder.Length())
}
_bsngenericstatsrequest.Name = string(bytes.Trim(decoder.Read(64), "\x00"))
for decoder.Length() >= 4 {
item, err := DecodeBsnTlv(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsngenericstatsrequest.Tlvs = append(_bsngenericstatsrequest.Tlvs, item)
}
}
return _bsngenericstatsrequest, nil
}
func NewBsnGenericStatsRequest() *BsnGenericStatsRequest {
obj := &BsnGenericStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(16),
}
return obj
}
type BsnGentableBucketStatsReply struct {
*BsnStatsReply
Entries []*BsnGentableBucketStatsEntry
}
type IBsnGentableBucketStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnGentableBucketStatsEntry
}
func (self *BsnGentableBucketStatsReply) GetEntries() []*BsnGentableBucketStatsEntry {
return self.Entries
}
func (self *BsnGentableBucketStatsReply) SetEntries(v []*BsnGentableBucketStatsEntry) {
self.Entries = v
}
func (self *BsnGentableBucketStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableBucketStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnGentableBucketStatsReply, error) {
_bsngentablebucketstatsreply := &BsnGentableBucketStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 16 {
item, err := DecodeBsnGentableBucketStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsngentablebucketstatsreply.Entries = append(_bsngentablebucketstatsreply.Entries, item)
}
}
return _bsngentablebucketstatsreply, nil
}
func NewBsnGentableBucketStatsReply() *BsnGentableBucketStatsReply {
obj := &BsnGentableBucketStatsReply{
BsnStatsReply: NewBsnStatsReply(5),
}
return obj
}
type BsnGentableBucketStatsRequest struct {
*BsnStatsRequest
TableId uint16
}
type IBsnGentableBucketStatsRequest interface {
IBsnStatsRequest
GetTableId() uint16
}
func (self *BsnGentableBucketStatsRequest) GetTableId() uint16 {
return self.TableId
}
func (self *BsnGentableBucketStatsRequest) SetTableId(v uint16) {
self.TableId = v
}
func (self *BsnGentableBucketStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.TableId))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableBucketStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnGentableBucketStatsRequest, error) {
_bsngentablebucketstatsrequest := &BsnGentableBucketStatsRequest{BsnStatsRequest: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("BsnGentableBucketStatsRequest packet too short: %d < 2", decoder.Length())
}
_bsngentablebucketstatsrequest.TableId = uint16(decoder.ReadUint16())
return _bsngentablebucketstatsrequest, nil
}
func NewBsnGentableBucketStatsRequest() *BsnGentableBucketStatsRequest {
obj := &BsnGentableBucketStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(5),
}
return obj
}
type BsnGentableClearReply struct {
*BsnHeader
TableId uint16
DeletedCount uint32
ErrorCount uint32
}
type IBsnGentableClearReply interface {
IBsnHeader
GetTableId() uint16
GetDeletedCount() uint32
GetErrorCount() uint32
}
func (self *BsnGentableClearReply) GetTableId() uint16 {
return self.TableId
}
func (self *BsnGentableClearReply) SetTableId(v uint16) {
self.TableId = v
}
func (self *BsnGentableClearReply) GetDeletedCount() uint32 {
return self.DeletedCount
}
func (self *BsnGentableClearReply) SetDeletedCount(v uint32) {
self.DeletedCount = v
}
func (self *BsnGentableClearReply) GetErrorCount() uint32 {
return self.ErrorCount
}
func (self *BsnGentableClearReply) SetErrorCount(v uint32) {
self.ErrorCount = v
}
func (self *BsnGentableClearReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.TableId))
encoder.Write(bytes.Repeat([]byte{0}, 2))
encoder.PutUint32(uint32(self.DeletedCount))
encoder.PutUint32(uint32(self.ErrorCount))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableClearReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGentableClearReply, error) {
_bsngentableclearreply := &BsnGentableClearReply{BsnHeader: parent}
if decoder.Length() < 12 {
return nil, fmt.Errorf("BsnGentableClearReply packet too short: %d < 12", decoder.Length())
}
_bsngentableclearreply.TableId = uint16(decoder.ReadUint16())
decoder.Skip(2)
_bsngentableclearreply.DeletedCount = uint32(decoder.ReadUint32())
_bsngentableclearreply.ErrorCount = uint32(decoder.ReadUint32())
return _bsngentableclearreply, nil
}
func NewBsnGentableClearReply() *BsnGentableClearReply {
obj := &BsnGentableClearReply{
BsnHeader: NewBsnHeader(49),
}
return obj
}
type BsnGentableClearRequest struct {
*BsnHeader
TableId uint16
Checksum Checksum128
ChecksumMask Checksum128
}
type IBsnGentableClearRequest interface {
IBsnHeader
GetTableId() uint16
GetChecksum() Checksum128
GetChecksumMask() Checksum128
}
func (self *BsnGentableClearRequest) GetTableId() uint16 {
return self.TableId
}
func (self *BsnGentableClearRequest) SetTableId(v uint16) {
self.TableId = v
}
func (self *BsnGentableClearRequest) GetChecksum() Checksum128 {
return self.Checksum
}
func (self *BsnGentableClearRequest) SetChecksum(v Checksum128) {
self.Checksum = v
}
func (self *BsnGentableClearRequest) GetChecksumMask() Checksum128 {
return self.ChecksumMask
}
func (self *BsnGentableClearRequest) SetChecksumMask(v Checksum128) {
self.ChecksumMask = v
}
func (self *BsnGentableClearRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.TableId))
encoder.Write(bytes.Repeat([]byte{0}, 2))
self.Checksum.Serialize(encoder)
self.ChecksumMask.Serialize(encoder)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableClearRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGentableClearRequest, error) {
_bsngentableclearrequest := &BsnGentableClearRequest{BsnHeader: parent}
if decoder.Length() < 36 {
return nil, fmt.Errorf("BsnGentableClearRequest packet too short: %d < 36", decoder.Length())
}
_bsngentableclearrequest.TableId = uint16(decoder.ReadUint16())
decoder.Skip(2)
_bsngentableclearrequest.Checksum.Decode(decoder)
_bsngentableclearrequest.ChecksumMask.Decode(decoder)
return _bsngentableclearrequest, nil
}
func NewBsnGentableClearRequest() *BsnGentableClearRequest {
obj := &BsnGentableClearRequest{
BsnHeader: NewBsnHeader(48),
}
return obj
}
type BsnGentableDescStatsReply struct {
*BsnStatsReply
Entries []*BsnGentableDescStatsEntry
}
type IBsnGentableDescStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnGentableDescStatsEntry
}
func (self *BsnGentableDescStatsReply) GetEntries() []*BsnGentableDescStatsEntry {
return self.Entries
}
func (self *BsnGentableDescStatsReply) SetEntries(v []*BsnGentableDescStatsEntry) {
self.Entries = v
}
func (self *BsnGentableDescStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableDescStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnGentableDescStatsReply, error) {
_bsngentabledescstatsreply := &BsnGentableDescStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 48 {
item, err := DecodeBsnGentableDescStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsngentabledescstatsreply.Entries = append(_bsngentabledescstatsreply.Entries, item)
}
}
return _bsngentabledescstatsreply, nil
}
func NewBsnGentableDescStatsReply() *BsnGentableDescStatsReply {
obj := &BsnGentableDescStatsReply{
BsnStatsReply: NewBsnStatsReply(4),
}
return obj
}
type BsnGentableDescStatsRequest struct {
*BsnStatsRequest
}
type IBsnGentableDescStatsRequest interface {
IBsnStatsRequest
}
func (self *BsnGentableDescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableDescStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnGentableDescStatsRequest, error) {
_bsngentabledescstatsrequest := &BsnGentableDescStatsRequest{BsnStatsRequest: parent}
return _bsngentabledescstatsrequest, nil
}
func NewBsnGentableDescStatsRequest() *BsnGentableDescStatsRequest {
obj := &BsnGentableDescStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(4),
}
return obj
}
type BsnGentableEntryAdd struct {
*BsnHeader
TableId uint16
KeyLength uint16
Checksum Checksum128
Key []IBsnTlv
Value []IBsnTlv
}
type IBsnGentableEntryAdd interface {
IBsnHeader
GetTableId() uint16
GetKeyLength() uint16
GetChecksum() Checksum128
GetKey() []IBsnTlv
GetValue() []IBsnTlv
}
func (self *BsnGentableEntryAdd) GetTableId() uint16 {
return self.TableId
}
func (self *BsnGentableEntryAdd) SetTableId(v uint16) {
self.TableId = v
}
func (self *BsnGentableEntryAdd) GetKeyLength() uint16 {
return self.KeyLength
}
func (self *BsnGentableEntryAdd) SetKeyLength(v uint16) {
self.KeyLength = v
}
func (self *BsnGentableEntryAdd) GetChecksum() Checksum128 {
return self.Checksum
}
func (self *BsnGentableEntryAdd) SetChecksum(v Checksum128) {
self.Checksum = v
}
func (self *BsnGentableEntryAdd) GetKey() []IBsnTlv {
return self.Key
}
func (self *BsnGentableEntryAdd) SetKey(v []IBsnTlv) {
self.Key = v
}
func (self *BsnGentableEntryAdd) GetValue() []IBsnTlv {
return self.Value
}
func (self *BsnGentableEntryAdd) SetValue(v []IBsnTlv) {
self.Value = v
}
func (self *BsnGentableEntryAdd) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.TableId))
encoder.PutUint16(uint16(self.KeyLength))
self.Checksum.Serialize(encoder)
for _, obj := range self.Key {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
for _, obj := range self.Value {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableEntryAdd(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGentableEntryAdd, error) {
_bsngentableentryadd := &BsnGentableEntryAdd{BsnHeader: parent}
if decoder.Length() < 20 {
return nil, fmt.Errorf("BsnGentableEntryAdd packet too short: %d < 20", decoder.Length())
}
_bsngentableentryadd.TableId = uint16(decoder.ReadUint16())
_bsngentableentryadd.KeyLength = uint16(decoder.ReadUint16())
_bsngentableentryadd.Checksum.Decode(decoder)
end := decoder.Offset() + int(_bsngentableentryadd.KeyLength)
for decoder.Offset() < end {
item, err := DecodeBsnTlv(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsngentableentryadd.Key = append(_bsngentableentryadd.Key, item)
}
}
for decoder.Length() >= 4 {
item, err := DecodeBsnTlv(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsngentableentryadd.Value = append(_bsngentableentryadd.Value, item)
}
}
return _bsngentableentryadd, nil
}
func NewBsnGentableEntryAdd() *BsnGentableEntryAdd {
obj := &BsnGentableEntryAdd{
BsnHeader: NewBsnHeader(46),
}
return obj
}
type BsnGentableEntryDelete struct {
*BsnHeader
TableId uint16
Key []IBsnTlv
}
type IBsnGentableEntryDelete interface {
IBsnHeader
GetTableId() uint16
GetKey() []IBsnTlv
}
func (self *BsnGentableEntryDelete) GetTableId() uint16 {
return self.TableId
}
func (self *BsnGentableEntryDelete) SetTableId(v uint16) {
self.TableId = v
}
func (self *BsnGentableEntryDelete) GetKey() []IBsnTlv {
return self.Key
}
func (self *BsnGentableEntryDelete) SetKey(v []IBsnTlv) {
self.Key = v
}
func (self *BsnGentableEntryDelete) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.TableId))
for _, obj := range self.Key {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableEntryDelete(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGentableEntryDelete, error) {
_bsngentableentrydelete := &BsnGentableEntryDelete{BsnHeader: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("BsnGentableEntryDelete packet too short: %d < 2", decoder.Length())
}
_bsngentableentrydelete.TableId = uint16(decoder.ReadUint16())
for decoder.Length() >= 4 {
item, err := DecodeBsnTlv(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsngentableentrydelete.Key = append(_bsngentableentrydelete.Key, item)
}
}
return _bsngentableentrydelete, nil
}
func NewBsnGentableEntryDelete() *BsnGentableEntryDelete {
obj := &BsnGentableEntryDelete{
BsnHeader: NewBsnHeader(47),
}
return obj
}
type BsnGentableEntryDescStatsReply struct {
*BsnStatsReply
Entries []*BsnGentableEntryDescStatsEntry
}
type IBsnGentableEntryDescStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnGentableEntryDescStatsEntry
}
func (self *BsnGentableEntryDescStatsReply) GetEntries() []*BsnGentableEntryDescStatsEntry {
return self.Entries
}
func (self *BsnGentableEntryDescStatsReply) SetEntries(v []*BsnGentableEntryDescStatsEntry) {
self.Entries = v
}
func (self *BsnGentableEntryDescStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableEntryDescStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnGentableEntryDescStatsReply, error) {
_bsngentableentrydescstatsreply := &BsnGentableEntryDescStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 20 {
item, err := DecodeBsnGentableEntryDescStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsngentableentrydescstatsreply.Entries = append(_bsngentableentrydescstatsreply.Entries, item)
}
}
return _bsngentableentrydescstatsreply, nil
}
func NewBsnGentableEntryDescStatsReply() *BsnGentableEntryDescStatsReply {
obj := &BsnGentableEntryDescStatsReply{
BsnStatsReply: NewBsnStatsReply(2),
}
return obj
}
type BsnGentableEntryDescStatsRequest struct {
*BsnStatsRequest
TableId uint16
Checksum Checksum128
ChecksumMask Checksum128
}
type IBsnGentableEntryDescStatsRequest interface {
IBsnStatsRequest
GetTableId() uint16
GetChecksum() Checksum128
GetChecksumMask() Checksum128
}
func (self *BsnGentableEntryDescStatsRequest) GetTableId() uint16 {
return self.TableId
}
func (self *BsnGentableEntryDescStatsRequest) SetTableId(v uint16) {
self.TableId = v
}
func (self *BsnGentableEntryDescStatsRequest) GetChecksum() Checksum128 {
return self.Checksum
}
func (self *BsnGentableEntryDescStatsRequest) SetChecksum(v Checksum128) {
self.Checksum = v
}
func (self *BsnGentableEntryDescStatsRequest) GetChecksumMask() Checksum128 {
return self.ChecksumMask
}
func (self *BsnGentableEntryDescStatsRequest) SetChecksumMask(v Checksum128) {
self.ChecksumMask = v
}
func (self *BsnGentableEntryDescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.TableId))
encoder.Write(bytes.Repeat([]byte{0}, 2))
self.Checksum.Serialize(encoder)
self.ChecksumMask.Serialize(encoder)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableEntryDescStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnGentableEntryDescStatsRequest, error) {
_bsngentableentrydescstatsrequest := &BsnGentableEntryDescStatsRequest{BsnStatsRequest: parent}
if decoder.Length() < 36 {
return nil, fmt.Errorf("BsnGentableEntryDescStatsRequest packet too short: %d < 36", decoder.Length())
}
_bsngentableentrydescstatsrequest.TableId = uint16(decoder.ReadUint16())
decoder.Skip(2)
_bsngentableentrydescstatsrequest.Checksum.Decode(decoder)
_bsngentableentrydescstatsrequest.ChecksumMask.Decode(decoder)
return _bsngentableentrydescstatsrequest, nil
}
func NewBsnGentableEntryDescStatsRequest() *BsnGentableEntryDescStatsRequest {
obj := &BsnGentableEntryDescStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(2),
}
return obj
}
type BsnGentableEntryStatsReply struct {
*BsnStatsReply
Entries []*BsnGentableEntryStatsEntry
}
type IBsnGentableEntryStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnGentableEntryStatsEntry
}
func (self *BsnGentableEntryStatsReply) GetEntries() []*BsnGentableEntryStatsEntry {
return self.Entries
}
func (self *BsnGentableEntryStatsReply) SetEntries(v []*BsnGentableEntryStatsEntry) {
self.Entries = v
}
func (self *BsnGentableEntryStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableEntryStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnGentableEntryStatsReply, error) {
_bsngentableentrystatsreply := &BsnGentableEntryStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 4 {
item, err := DecodeBsnGentableEntryStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsngentableentrystatsreply.Entries = append(_bsngentableentrystatsreply.Entries, item)
}
}
return _bsngentableentrystatsreply, nil
}
func NewBsnGentableEntryStatsReply() *BsnGentableEntryStatsReply {
obj := &BsnGentableEntryStatsReply{
BsnStatsReply: NewBsnStatsReply(3),
}
return obj
}
type BsnGentableEntryStatsRequest struct {
*BsnStatsRequest
TableId uint16
Checksum Checksum128
ChecksumMask Checksum128
}
type IBsnGentableEntryStatsRequest interface {
IBsnStatsRequest
GetTableId() uint16
GetChecksum() Checksum128
GetChecksumMask() Checksum128
}
func (self *BsnGentableEntryStatsRequest) GetTableId() uint16 {
return self.TableId
}
func (self *BsnGentableEntryStatsRequest) SetTableId(v uint16) {
self.TableId = v
}
func (self *BsnGentableEntryStatsRequest) GetChecksum() Checksum128 {
return self.Checksum
}
func (self *BsnGentableEntryStatsRequest) SetChecksum(v Checksum128) {
self.Checksum = v
}
func (self *BsnGentableEntryStatsRequest) GetChecksumMask() Checksum128 {
return self.ChecksumMask
}
func (self *BsnGentableEntryStatsRequest) SetChecksumMask(v Checksum128) {
self.ChecksumMask = v
}
func (self *BsnGentableEntryStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.TableId))
encoder.Write(bytes.Repeat([]byte{0}, 2))
self.Checksum.Serialize(encoder)
self.ChecksumMask.Serialize(encoder)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableEntryStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnGentableEntryStatsRequest, error) {
_bsngentableentrystatsrequest := &BsnGentableEntryStatsRequest{BsnStatsRequest: parent}
if decoder.Length() < 36 {
return nil, fmt.Errorf("BsnGentableEntryStatsRequest packet too short: %d < 36", decoder.Length())
}
_bsngentableentrystatsrequest.TableId = uint16(decoder.ReadUint16())
decoder.Skip(2)
_bsngentableentrystatsrequest.Checksum.Decode(decoder)
_bsngentableentrystatsrequest.ChecksumMask.Decode(decoder)
return _bsngentableentrystatsrequest, nil
}
func NewBsnGentableEntryStatsRequest() *BsnGentableEntryStatsRequest {
obj := &BsnGentableEntryStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(3),
}
return obj
}
type BsnGentableError struct {
*BsnBaseError
ErrorCode BsnGentableErrorCode
TableId uint16
}
type IBsnGentableError interface {
IBsnBaseError
GetErrorCode() BsnGentableErrorCode
GetTableId() uint16
}
func (self *BsnGentableError) GetErrorCode() BsnGentableErrorCode {
return self.ErrorCode
}
func (self *BsnGentableError) SetErrorCode(v BsnGentableErrorCode) {
self.ErrorCode = v
}
func (self *BsnGentableError) GetTableId() uint16 {
return self.TableId
}
func (self *BsnGentableError) SetTableId(v uint16) {
self.TableId = v
}
func (self *BsnGentableError) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnBaseError.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.ErrorCode))
encoder.PutUint16(uint16(self.TableId))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableError(parent *BsnBaseError, decoder *goloxi.Decoder) (*BsnGentableError, error) {
_bsngentableerror := &BsnGentableError{BsnBaseError: parent}
if decoder.Length() < 260 {
return nil, fmt.Errorf("BsnGentableError packet too short: %d < 260", decoder.Length())
}
_bsngentableerror.ErrorCode = BsnGentableErrorCode(decoder.ReadUint16())
_bsngentableerror.TableId = uint16(decoder.ReadUint16())
return _bsngentableerror, nil
}
func NewBsnGentableError() *BsnGentableError {
obj := &BsnGentableError{
BsnBaseError: NewBsnBaseError(2),
}
return obj
}
type BsnGentableSetBucketsSize struct {
*BsnHeader
TableId uint16
BucketsSize uint32
}
type IBsnGentableSetBucketsSize interface {
IBsnHeader
GetTableId() uint16
GetBucketsSize() uint32
}
func (self *BsnGentableSetBucketsSize) GetTableId() uint16 {
return self.TableId
}
func (self *BsnGentableSetBucketsSize) SetTableId(v uint16) {
self.TableId = v
}
func (self *BsnGentableSetBucketsSize) GetBucketsSize() uint32 {
return self.BucketsSize
}
func (self *BsnGentableSetBucketsSize) SetBucketsSize(v uint32) {
self.BucketsSize = v
}
func (self *BsnGentableSetBucketsSize) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.TableId))
encoder.Write(bytes.Repeat([]byte{0}, 2))
encoder.PutUint32(uint32(self.BucketsSize))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableSetBucketsSize(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGentableSetBucketsSize, error) {
_bsngentablesetbucketssize := &BsnGentableSetBucketsSize{BsnHeader: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("BsnGentableSetBucketsSize packet too short: %d < 8", decoder.Length())
}
_bsngentablesetbucketssize.TableId = uint16(decoder.ReadUint16())
decoder.Skip(2)
_bsngentablesetbucketssize.BucketsSize = uint32(decoder.ReadUint32())
return _bsngentablesetbucketssize, nil
}
func NewBsnGentableSetBucketsSize() *BsnGentableSetBucketsSize {
obj := &BsnGentableSetBucketsSize{
BsnHeader: NewBsnHeader(50),
}
return obj
}
type BsnGentableStatsReply struct {
*BsnStatsReply
Entries []*BsnGentableStatsEntry
}
type IBsnGentableStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnGentableStatsEntry
}
func (self *BsnGentableStatsReply) GetEntries() []*BsnGentableStatsEntry {
return self.Entries
}
func (self *BsnGentableStatsReply) SetEntries(v []*BsnGentableStatsEntry) {
self.Entries = v
}
func (self *BsnGentableStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnGentableStatsReply, error) {
_bsngentablestatsreply := &BsnGentableStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 24 {
item, err := DecodeBsnGentableStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsngentablestatsreply.Entries = append(_bsngentablestatsreply.Entries, item)
}
}
return _bsngentablestatsreply, nil
}
func NewBsnGentableStatsReply() *BsnGentableStatsReply {
obj := &BsnGentableStatsReply{
BsnStatsReply: NewBsnStatsReply(7),
}
return obj
}
type BsnGentableStatsRequest struct {
*BsnStatsRequest
}
type IBsnGentableStatsRequest interface {
IBsnStatsRequest
}
func (self *BsnGentableStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGentableStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnGentableStatsRequest, error) {
_bsngentablestatsrequest := &BsnGentableStatsRequest{BsnStatsRequest: parent}
return _bsngentablestatsrequest, nil
}
func NewBsnGentableStatsRequest() *BsnGentableStatsRequest {
obj := &BsnGentableStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(7),
}
return obj
}
type BsnGetInterfacesReply struct {
*BsnHeader
Interfaces []*BsnInterface
}
type IBsnGetInterfacesReply interface {
IBsnHeader
GetInterfaces() []*BsnInterface
}
func (self *BsnGetInterfacesReply) GetInterfaces() []*BsnInterface {
return self.Interfaces
}
func (self *BsnGetInterfacesReply) SetInterfaces(v []*BsnInterface) {
self.Interfaces = v
}
func (self *BsnGetInterfacesReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Interfaces {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGetInterfacesReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGetInterfacesReply, error) {
_bsngetinterfacesreply := &BsnGetInterfacesReply{BsnHeader: parent}
for decoder.Length() >= 32 {
item, err := DecodeBsnInterface(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsngetinterfacesreply.Interfaces = append(_bsngetinterfacesreply.Interfaces, item)
}
}
return _bsngetinterfacesreply, nil
}
func NewBsnGetInterfacesReply() *BsnGetInterfacesReply {
obj := &BsnGetInterfacesReply{
BsnHeader: NewBsnHeader(10),
}
return obj
}
type BsnGetInterfacesRequest struct {
*BsnHeader
}
type IBsnGetInterfacesRequest interface {
IBsnHeader
}
func (self *BsnGetInterfacesRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGetInterfacesRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGetInterfacesRequest, error) {
_bsngetinterfacesrequest := &BsnGetInterfacesRequest{BsnHeader: parent}
return _bsngetinterfacesrequest, nil
}
func NewBsnGetInterfacesRequest() *BsnGetInterfacesRequest {
obj := &BsnGetInterfacesRequest{
BsnHeader: NewBsnHeader(9),
}
return obj
}
type BsnGetMirroringReply struct {
*BsnHeader
ReportMirrorPorts uint8
}
type IBsnGetMirroringReply interface {
IBsnHeader
GetReportMirrorPorts() uint8
}
func (self *BsnGetMirroringReply) GetReportMirrorPorts() uint8 {
return self.ReportMirrorPorts
}
func (self *BsnGetMirroringReply) SetReportMirrorPorts(v uint8) {
self.ReportMirrorPorts = v
}
func (self *BsnGetMirroringReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint8(uint8(self.ReportMirrorPorts))
encoder.Write(bytes.Repeat([]byte{0}, 3))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGetMirroringReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGetMirroringReply, error) {
_bsngetmirroringreply := &BsnGetMirroringReply{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnGetMirroringReply packet too short: %d < 4", decoder.Length())
}
_bsngetmirroringreply.ReportMirrorPorts = uint8(decoder.ReadByte())
decoder.Skip(3)
return _bsngetmirroringreply, nil
}
func NewBsnGetMirroringReply() *BsnGetMirroringReply {
obj := &BsnGetMirroringReply{
BsnHeader: NewBsnHeader(5),
}
return obj
}
type BsnGetMirroringRequest struct {
*BsnHeader
ReportMirrorPorts uint8
}
type IBsnGetMirroringRequest interface {
IBsnHeader
GetReportMirrorPorts() uint8
}
func (self *BsnGetMirroringRequest) GetReportMirrorPorts() uint8 {
return self.ReportMirrorPorts
}
func (self *BsnGetMirroringRequest) SetReportMirrorPorts(v uint8) {
self.ReportMirrorPorts = v
}
func (self *BsnGetMirroringRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint8(uint8(self.ReportMirrorPorts))
encoder.Write(bytes.Repeat([]byte{0}, 3))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGetMirroringRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGetMirroringRequest, error) {
_bsngetmirroringrequest := &BsnGetMirroringRequest{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnGetMirroringRequest packet too short: %d < 4", decoder.Length())
}
_bsngetmirroringrequest.ReportMirrorPorts = uint8(decoder.ReadByte())
decoder.Skip(3)
return _bsngetmirroringrequest, nil
}
func NewBsnGetMirroringRequest() *BsnGetMirroringRequest {
obj := &BsnGetMirroringRequest{
BsnHeader: NewBsnHeader(4),
}
return obj
}
type BsnGetSwitchPipelineReply struct {
*BsnHeader
Pipeline string
}
type IBsnGetSwitchPipelineReply interface {
IBsnHeader
GetPipeline() string
}
func (self *BsnGetSwitchPipelineReply) GetPipeline() string {
return self.Pipeline
}
func (self *BsnGetSwitchPipelineReply) SetPipeline(v string) {
self.Pipeline = v
}
func (self *BsnGetSwitchPipelineReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.Write([]byte(self.Pipeline))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGetSwitchPipelineReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGetSwitchPipelineReply, error) {
_bsngetswitchpipelinereply := &BsnGetSwitchPipelineReply{BsnHeader: parent}
if decoder.Length() < 256 {
return nil, fmt.Errorf("BsnGetSwitchPipelineReply packet too short: %d < 256", decoder.Length())
}
_bsngetswitchpipelinereply.Pipeline = string(bytes.Trim(decoder.Read(256), "\x00"))
return _bsngetswitchpipelinereply, nil
}
func NewBsnGetSwitchPipelineReply() *BsnGetSwitchPipelineReply {
obj := &BsnGetSwitchPipelineReply{
BsnHeader: NewBsnHeader(52),
}
return obj
}
type BsnGetSwitchPipelineRequest struct {
*BsnHeader
}
type IBsnGetSwitchPipelineRequest interface {
IBsnHeader
}
func (self *BsnGetSwitchPipelineRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnGetSwitchPipelineRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnGetSwitchPipelineRequest, error) {
_bsngetswitchpipelinerequest := &BsnGetSwitchPipelineRequest{BsnHeader: parent}
return _bsngetswitchpipelinerequest, nil
}
func NewBsnGetSwitchPipelineRequest() *BsnGetSwitchPipelineRequest {
obj := &BsnGetSwitchPipelineRequest{
BsnHeader: NewBsnHeader(51),
}
return obj
}
type BsnImageDescStatsReply struct {
*BsnStatsReply
ImageChecksum string
StartupConfigChecksum string
}
type IBsnImageDescStatsReply interface {
IBsnStatsReply
GetImageChecksum() string
GetStartupConfigChecksum() string
}
func (self *BsnImageDescStatsReply) GetImageChecksum() string {
return self.ImageChecksum
}
func (self *BsnImageDescStatsReply) SetImageChecksum(v string) {
self.ImageChecksum = v
}
func (self *BsnImageDescStatsReply) GetStartupConfigChecksum() string {
return self.StartupConfigChecksum
}
func (self *BsnImageDescStatsReply) SetStartupConfigChecksum(v string) {
self.StartupConfigChecksum = v
}
func (self *BsnImageDescStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write([]byte(self.ImageChecksum))
encoder.Write([]byte(self.StartupConfigChecksum))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnImageDescStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnImageDescStatsReply, error) {
_bsnimagedescstatsreply := &BsnImageDescStatsReply{BsnStatsReply: parent}
if decoder.Length() < 512 {
return nil, fmt.Errorf("BsnImageDescStatsReply packet too short: %d < 512", decoder.Length())
}
_bsnimagedescstatsreply.ImageChecksum = string(bytes.Trim(decoder.Read(256), "\x00"))
_bsnimagedescstatsreply.StartupConfigChecksum = string(bytes.Trim(decoder.Read(256), "\x00"))
return _bsnimagedescstatsreply, nil
}
func NewBsnImageDescStatsReply() *BsnImageDescStatsReply {
obj := &BsnImageDescStatsReply{
BsnStatsReply: NewBsnStatsReply(14),
}
return obj
}
type BsnImageDescStatsRequest struct {
*BsnStatsRequest
}
type IBsnImageDescStatsRequest interface {
IBsnStatsRequest
}
func (self *BsnImageDescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnImageDescStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnImageDescStatsRequest, error) {
_bsnimagedescstatsrequest := &BsnImageDescStatsRequest{BsnStatsRequest: parent}
return _bsnimagedescstatsrequest, nil
}
func NewBsnImageDescStatsRequest() *BsnImageDescStatsRequest {
obj := &BsnImageDescStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(14),
}
return obj
}
type BsnLacpConvergenceNotif struct {
*BsnHeader
ConvergenceStatus uint8
PortNo Port
ActorSysPriority uint16
ActorSysMac net.HardwareAddr
ActorPortPriority uint16
ActorPortNum uint16
ActorKey uint16
PartnerSysPriority uint16
PartnerSysMac net.HardwareAddr
PartnerPortPriority uint16
PartnerPortNum uint16
PartnerKey uint16
}
type IBsnLacpConvergenceNotif interface {
IBsnHeader
GetConvergenceStatus() uint8
GetPortNo() Port
GetActorSysPriority() uint16
GetActorSysMac() net.HardwareAddr
GetActorPortPriority() uint16
GetActorPortNum() uint16
GetActorKey() uint16
GetPartnerSysPriority() uint16
GetPartnerSysMac() net.HardwareAddr
GetPartnerPortPriority() uint16
GetPartnerPortNum() uint16
GetPartnerKey() uint16
}
func (self *BsnLacpConvergenceNotif) GetConvergenceStatus() uint8 {
return self.ConvergenceStatus
}
func (self *BsnLacpConvergenceNotif) SetConvergenceStatus(v uint8) {
self.ConvergenceStatus = v
}
func (self *BsnLacpConvergenceNotif) GetPortNo() Port {
return self.PortNo
}
func (self *BsnLacpConvergenceNotif) SetPortNo(v Port) {
self.PortNo = v
}
func (self *BsnLacpConvergenceNotif) GetActorSysPriority() uint16 {
return self.ActorSysPriority
}
func (self *BsnLacpConvergenceNotif) SetActorSysPriority(v uint16) {
self.ActorSysPriority = v
}
func (self *BsnLacpConvergenceNotif) GetActorSysMac() net.HardwareAddr {
return self.ActorSysMac
}
func (self *BsnLacpConvergenceNotif) SetActorSysMac(v net.HardwareAddr) {
self.ActorSysMac = v
}
func (self *BsnLacpConvergenceNotif) GetActorPortPriority() uint16 {
return self.ActorPortPriority
}
func (self *BsnLacpConvergenceNotif) SetActorPortPriority(v uint16) {
self.ActorPortPriority = v
}
func (self *BsnLacpConvergenceNotif) GetActorPortNum() uint16 {
return self.ActorPortNum
}
func (self *BsnLacpConvergenceNotif) SetActorPortNum(v uint16) {
self.ActorPortNum = v
}
func (self *BsnLacpConvergenceNotif) GetActorKey() uint16 {
return self.ActorKey
}
func (self *BsnLacpConvergenceNotif) SetActorKey(v uint16) {
self.ActorKey = v
}
func (self *BsnLacpConvergenceNotif) GetPartnerSysPriority() uint16 {
return self.PartnerSysPriority
}
func (self *BsnLacpConvergenceNotif) SetPartnerSysPriority(v uint16) {
self.PartnerSysPriority = v
}
func (self *BsnLacpConvergenceNotif) GetPartnerSysMac() net.HardwareAddr {
return self.PartnerSysMac
}
func (self *BsnLacpConvergenceNotif) SetPartnerSysMac(v net.HardwareAddr) {
self.PartnerSysMac = v
}
func (self *BsnLacpConvergenceNotif) GetPartnerPortPriority() uint16 {
return self.PartnerPortPriority
}
func (self *BsnLacpConvergenceNotif) SetPartnerPortPriority(v uint16) {
self.PartnerPortPriority = v
}
func (self *BsnLacpConvergenceNotif) GetPartnerPortNum() uint16 {
return self.PartnerPortNum
}
func (self *BsnLacpConvergenceNotif) SetPartnerPortNum(v uint16) {
self.PartnerPortNum = v
}
func (self *BsnLacpConvergenceNotif) GetPartnerKey() uint16 {
return self.PartnerKey
}
func (self *BsnLacpConvergenceNotif) SetPartnerKey(v uint16) {
self.PartnerKey = v
}
func (self *BsnLacpConvergenceNotif) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint8(uint8(self.ConvergenceStatus))
encoder.Write(bytes.Repeat([]byte{0}, 3))
self.PortNo.Serialize(encoder)
encoder.PutUint16(uint16(self.ActorSysPriority))
encoder.Write(self.ActorSysMac)
encoder.PutUint16(uint16(self.ActorPortPriority))
encoder.PutUint16(uint16(self.ActorPortNum))
encoder.PutUint16(uint16(self.ActorKey))
encoder.PutUint16(uint16(self.PartnerSysPriority))
encoder.Write(self.PartnerSysMac)
encoder.PutUint16(uint16(self.PartnerPortPriority))
encoder.PutUint16(uint16(self.PartnerPortNum))
encoder.PutUint16(uint16(self.PartnerKey))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnLacpConvergenceNotif(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnLacpConvergenceNotif, error) {
_bsnlacpconvergencenotif := &BsnLacpConvergenceNotif{BsnHeader: parent}
if decoder.Length() < 36 {
return nil, fmt.Errorf("BsnLacpConvergenceNotif packet too short: %d < 36", decoder.Length())
}
_bsnlacpconvergencenotif.ConvergenceStatus = uint8(decoder.ReadByte())
decoder.Skip(3)
_bsnlacpconvergencenotif.PortNo.Decode(decoder)
_bsnlacpconvergencenotif.ActorSysPriority = uint16(decoder.ReadUint16())
_bsnlacpconvergencenotif.ActorSysMac = net.HardwareAddr(decoder.Read(6))
_bsnlacpconvergencenotif.ActorPortPriority = uint16(decoder.ReadUint16())
_bsnlacpconvergencenotif.ActorPortNum = uint16(decoder.ReadUint16())
_bsnlacpconvergencenotif.ActorKey = uint16(decoder.ReadUint16())
_bsnlacpconvergencenotif.PartnerSysPriority = uint16(decoder.ReadUint16())
_bsnlacpconvergencenotif.PartnerSysMac = net.HardwareAddr(decoder.Read(6))
_bsnlacpconvergencenotif.PartnerPortPriority = uint16(decoder.ReadUint16())
_bsnlacpconvergencenotif.PartnerPortNum = uint16(decoder.ReadUint16())
_bsnlacpconvergencenotif.PartnerKey = uint16(decoder.ReadUint16())
return _bsnlacpconvergencenotif, nil
}
func NewBsnLacpConvergenceNotif() *BsnLacpConvergenceNotif {
obj := &BsnLacpConvergenceNotif{
BsnHeader: NewBsnHeader(43),
}
return obj
}
type BsnLacpStatsReply struct {
*BsnStatsReply
Entries []*BsnLacpStatsEntry
}
type IBsnLacpStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnLacpStatsEntry
}
func (self *BsnLacpStatsReply) GetEntries() []*BsnLacpStatsEntry {
return self.Entries
}
func (self *BsnLacpStatsReply) SetEntries(v []*BsnLacpStatsEntry) {
self.Entries = v
}
func (self *BsnLacpStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnLacpStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnLacpStatsReply, error) {
_bsnlacpstatsreply := &BsnLacpStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 36 {
item, err := DecodeBsnLacpStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsnlacpstatsreply.Entries = append(_bsnlacpstatsreply.Entries, item)
}
}
return _bsnlacpstatsreply, nil
}
func NewBsnLacpStatsReply() *BsnLacpStatsReply {
obj := &BsnLacpStatsReply{
BsnStatsReply: NewBsnStatsReply(1),
}
return obj
}
type BsnLacpStatsRequest struct {
*BsnStatsRequest
}
type IBsnLacpStatsRequest interface {
IBsnStatsRequest
}
func (self *BsnLacpStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnLacpStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnLacpStatsRequest, error) {
_bsnlacpstatsrequest := &BsnLacpStatsRequest{BsnStatsRequest: parent}
return _bsnlacpstatsrequest, nil
}
func NewBsnLacpStatsRequest() *BsnLacpStatsRequest {
obj := &BsnLacpStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(1),
}
return obj
}
type BsnLog struct {
*BsnHeader
Loglevel BsnLoglevel
Data []byte
}
type IBsnLog interface {
IBsnHeader
GetLoglevel() BsnLoglevel
GetData() []byte
}
func (self *BsnLog) GetLoglevel() BsnLoglevel {
return self.Loglevel
}
func (self *BsnLog) SetLoglevel(v BsnLoglevel) {
self.Loglevel = v
}
func (self *BsnLog) GetData() []byte {
return self.Data
}
func (self *BsnLog) SetData(v []byte) {
self.Data = v
}
func (self *BsnLog) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint8(uint8(self.Loglevel))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnLog(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnLog, error) {
_bsnlog := &BsnLog{BsnHeader: parent}
if decoder.Length() < 1 {
return nil, fmt.Errorf("BsnLog packet too short: %d < 1", decoder.Length())
}
_bsnlog.Loglevel = BsnLoglevel(decoder.ReadByte())
_bsnlog.Data = decoder.Read(int(decoder.Length()))
return _bsnlog, nil
}
func NewBsnLog() *BsnLog {
obj := &BsnLog{
BsnHeader: NewBsnHeader(63),
}
return obj
}
type BsnLuaCommandReply struct {
*BsnHeader
Data []byte
}
type IBsnLuaCommandReply interface {
IBsnHeader
GetData() []byte
}
func (self *BsnLuaCommandReply) GetData() []byte {
return self.Data
}
func (self *BsnLuaCommandReply) SetData(v []byte) {
self.Data = v
}
func (self *BsnLuaCommandReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnLuaCommandReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnLuaCommandReply, error) {
_bsnluacommandreply := &BsnLuaCommandReply{BsnHeader: parent}
_bsnluacommandreply.Data = decoder.Read(int(decoder.Length()))
return _bsnluacommandreply, nil
}
func NewBsnLuaCommandReply() *BsnLuaCommandReply {
obj := &BsnLuaCommandReply{
BsnHeader: NewBsnHeader(66),
}
return obj
}
type BsnLuaCommandRequest struct {
*BsnHeader
Data []byte
}
type IBsnLuaCommandRequest interface {
IBsnHeader
GetData() []byte
}
func (self *BsnLuaCommandRequest) GetData() []byte {
return self.Data
}
func (self *BsnLuaCommandRequest) SetData(v []byte) {
self.Data = v
}
func (self *BsnLuaCommandRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnLuaCommandRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnLuaCommandRequest, error) {
_bsnluacommandrequest := &BsnLuaCommandRequest{BsnHeader: parent}
_bsnluacommandrequest.Data = decoder.Read(int(decoder.Length()))
return _bsnluacommandrequest, nil
}
func NewBsnLuaCommandRequest() *BsnLuaCommandRequest {
obj := &BsnLuaCommandRequest{
BsnHeader: NewBsnHeader(65),
}
return obj
}
type BsnLuaNotification struct {
*BsnHeader
Data []byte
}
type IBsnLuaNotification interface {
IBsnHeader
GetData() []byte
}
func (self *BsnLuaNotification) GetData() []byte {
return self.Data
}
func (self *BsnLuaNotification) SetData(v []byte) {
self.Data = v
}
func (self *BsnLuaNotification) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnLuaNotification(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnLuaNotification, error) {
_bsnluanotification := &BsnLuaNotification{BsnHeader: parent}
_bsnluanotification.Data = decoder.Read(int(decoder.Length()))
return _bsnluanotification, nil
}
func NewBsnLuaNotification() *BsnLuaNotification {
obj := &BsnLuaNotification{
BsnHeader: NewBsnHeader(67),
}
return obj
}
type BsnLuaUpload struct {
*BsnHeader
Flags BsnLuaUploadFlags
Filename string
Data []byte
}
type IBsnLuaUpload interface {
IBsnHeader
GetFlags() BsnLuaUploadFlags
GetFilename() string
GetData() []byte
}
func (self *BsnLuaUpload) GetFlags() BsnLuaUploadFlags {
return self.Flags
}
func (self *BsnLuaUpload) SetFlags(v BsnLuaUploadFlags) {
self.Flags = v
}
func (self *BsnLuaUpload) GetFilename() string {
return self.Filename
}
func (self *BsnLuaUpload) SetFilename(v string) {
self.Filename = v
}
func (self *BsnLuaUpload) GetData() []byte {
return self.Data
}
func (self *BsnLuaUpload) SetData(v []byte) {
self.Data = v
}
func (self *BsnLuaUpload) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Flags))
encoder.Write([]byte(self.Filename))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnLuaUpload(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnLuaUpload, error) {
_bsnluaupload := &BsnLuaUpload{BsnHeader: parent}
if decoder.Length() < 66 {
return nil, fmt.Errorf("BsnLuaUpload packet too short: %d < 66", decoder.Length())
}
_bsnluaupload.Flags = BsnLuaUploadFlags(decoder.ReadUint16())
_bsnluaupload.Filename = string(bytes.Trim(decoder.Read(64), "\x00"))
_bsnluaupload.Data = decoder.Read(int(decoder.Length()))
return _bsnluaupload, nil
}
func NewBsnLuaUpload() *BsnLuaUpload {
obj := &BsnLuaUpload{
BsnHeader: NewBsnHeader(64),
}
return obj
}
type BsnPduRxReply struct {
*BsnHeader
Status uint32
PortNo Port
SlotNum uint8
}
type IBsnPduRxReply interface {
IBsnHeader
GetStatus() uint32
GetPortNo() Port
GetSlotNum() uint8
}
func (self *BsnPduRxReply) GetStatus() uint32 {
return self.Status
}
func (self *BsnPduRxReply) SetStatus(v uint32) {
self.Status = v
}
func (self *BsnPduRxReply) GetPortNo() Port {
return self.PortNo
}
func (self *BsnPduRxReply) SetPortNo(v Port) {
self.PortNo = v
}
func (self *BsnPduRxReply) GetSlotNum() uint8 {
return self.SlotNum
}
func (self *BsnPduRxReply) SetSlotNum(v uint8) {
self.SlotNum = v
}
func (self *BsnPduRxReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Status))
self.PortNo.Serialize(encoder)
encoder.PutUint8(uint8(self.SlotNum))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnPduRxReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnPduRxReply, error) {
_bsnpdurxreply := &BsnPduRxReply{BsnHeader: parent}
if decoder.Length() < 9 {
return nil, fmt.Errorf("BsnPduRxReply packet too short: %d < 9", decoder.Length())
}
_bsnpdurxreply.Status = uint32(decoder.ReadUint32())
_bsnpdurxreply.PortNo.Decode(decoder)
_bsnpdurxreply.SlotNum = uint8(decoder.ReadByte())
return _bsnpdurxreply, nil
}
func NewBsnPduRxReply() *BsnPduRxReply {
obj := &BsnPduRxReply{
BsnHeader: NewBsnHeader(34),
}
return obj
}
type BsnPduRxRequest struct {
*BsnHeader
TimeoutMs uint32
PortNo Port
SlotNum uint8
Data []byte
}
type IBsnPduRxRequest interface {
IBsnHeader
GetTimeoutMs() uint32
GetPortNo() Port
GetSlotNum() uint8
GetData() []byte
}
func (self *BsnPduRxRequest) GetTimeoutMs() uint32 {
return self.TimeoutMs
}
func (self *BsnPduRxRequest) SetTimeoutMs(v uint32) {
self.TimeoutMs = v
}
func (self *BsnPduRxRequest) GetPortNo() Port {
return self.PortNo
}
func (self *BsnPduRxRequest) SetPortNo(v Port) {
self.PortNo = v
}
func (self *BsnPduRxRequest) GetSlotNum() uint8 {
return self.SlotNum
}
func (self *BsnPduRxRequest) SetSlotNum(v uint8) {
self.SlotNum = v
}
func (self *BsnPduRxRequest) GetData() []byte {
return self.Data
}
func (self *BsnPduRxRequest) SetData(v []byte) {
self.Data = v
}
func (self *BsnPduRxRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.TimeoutMs))
self.PortNo.Serialize(encoder)
encoder.PutUint8(uint8(self.SlotNum))
encoder.Write(bytes.Repeat([]byte{0}, 3))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnPduRxRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnPduRxRequest, error) {
_bsnpdurxrequest := &BsnPduRxRequest{BsnHeader: parent}
if decoder.Length() < 12 {
return nil, fmt.Errorf("BsnPduRxRequest packet too short: %d < 12", decoder.Length())
}
_bsnpdurxrequest.TimeoutMs = uint32(decoder.ReadUint32())
_bsnpdurxrequest.PortNo.Decode(decoder)
_bsnpdurxrequest.SlotNum = uint8(decoder.ReadByte())
decoder.Skip(3)
_bsnpdurxrequest.Data = decoder.Read(int(decoder.Length()))
return _bsnpdurxrequest, nil
}
func NewBsnPduRxRequest() *BsnPduRxRequest {
obj := &BsnPduRxRequest{
BsnHeader: NewBsnHeader(33),
}
return obj
}
type BsnPduRxTimeout struct {
*BsnHeader
PortNo Port
SlotNum uint8
}
type IBsnPduRxTimeout interface {
IBsnHeader
GetPortNo() Port
GetSlotNum() uint8
}
func (self *BsnPduRxTimeout) GetPortNo() Port {
return self.PortNo
}
func (self *BsnPduRxTimeout) SetPortNo(v Port) {
self.PortNo = v
}
func (self *BsnPduRxTimeout) GetSlotNum() uint8 {
return self.SlotNum
}
func (self *BsnPduRxTimeout) SetSlotNum(v uint8) {
self.SlotNum = v
}
func (self *BsnPduRxTimeout) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
self.PortNo.Serialize(encoder)
encoder.PutUint8(uint8(self.SlotNum))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnPduRxTimeout(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnPduRxTimeout, error) {
_bsnpdurxtimeout := &BsnPduRxTimeout{BsnHeader: parent}
if decoder.Length() < 5 {
return nil, fmt.Errorf("BsnPduRxTimeout packet too short: %d < 5", decoder.Length())
}
_bsnpdurxtimeout.PortNo.Decode(decoder)
_bsnpdurxtimeout.SlotNum = uint8(decoder.ReadByte())
return _bsnpdurxtimeout, nil
}
func NewBsnPduRxTimeout() *BsnPduRxTimeout {
obj := &BsnPduRxTimeout{
BsnHeader: NewBsnHeader(35),
}
return obj
}
type BsnPduTxReply struct {
*BsnHeader
Status uint32
PortNo Port
SlotNum uint8
}
type IBsnPduTxReply interface {
IBsnHeader
GetStatus() uint32
GetPortNo() Port
GetSlotNum() uint8
}
func (self *BsnPduTxReply) GetStatus() uint32 {
return self.Status
}
func (self *BsnPduTxReply) SetStatus(v uint32) {
self.Status = v
}
func (self *BsnPduTxReply) GetPortNo() Port {
return self.PortNo
}
func (self *BsnPduTxReply) SetPortNo(v Port) {
self.PortNo = v
}
func (self *BsnPduTxReply) GetSlotNum() uint8 {
return self.SlotNum
}
func (self *BsnPduTxReply) SetSlotNum(v uint8) {
self.SlotNum = v
}
func (self *BsnPduTxReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Status))
self.PortNo.Serialize(encoder)
encoder.PutUint8(uint8(self.SlotNum))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnPduTxReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnPduTxReply, error) {
_bsnpdutxreply := &BsnPduTxReply{BsnHeader: parent}
if decoder.Length() < 9 {
return nil, fmt.Errorf("BsnPduTxReply packet too short: %d < 9", decoder.Length())
}
_bsnpdutxreply.Status = uint32(decoder.ReadUint32())
_bsnpdutxreply.PortNo.Decode(decoder)
_bsnpdutxreply.SlotNum = uint8(decoder.ReadByte())
return _bsnpdutxreply, nil
}
func NewBsnPduTxReply() *BsnPduTxReply {
obj := &BsnPduTxReply{
BsnHeader: NewBsnHeader(32),
}
return obj
}
type BsnPduTxRequest struct {
*BsnHeader
TxIntervalMs uint32
PortNo Port
SlotNum uint8
Data []byte
}
type IBsnPduTxRequest interface {
IBsnHeader
GetTxIntervalMs() uint32
GetPortNo() Port
GetSlotNum() uint8
GetData() []byte
}
func (self *BsnPduTxRequest) GetTxIntervalMs() uint32 {
return self.TxIntervalMs
}
func (self *BsnPduTxRequest) SetTxIntervalMs(v uint32) {
self.TxIntervalMs = v
}
func (self *BsnPduTxRequest) GetPortNo() Port {
return self.PortNo
}
func (self *BsnPduTxRequest) SetPortNo(v Port) {
self.PortNo = v
}
func (self *BsnPduTxRequest) GetSlotNum() uint8 {
return self.SlotNum
}
func (self *BsnPduTxRequest) SetSlotNum(v uint8) {
self.SlotNum = v
}
func (self *BsnPduTxRequest) GetData() []byte {
return self.Data
}
func (self *BsnPduTxRequest) SetData(v []byte) {
self.Data = v
}
func (self *BsnPduTxRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.TxIntervalMs))
self.PortNo.Serialize(encoder)
encoder.PutUint8(uint8(self.SlotNum))
encoder.Write(bytes.Repeat([]byte{0}, 3))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnPduTxRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnPduTxRequest, error) {
_bsnpdutxrequest := &BsnPduTxRequest{BsnHeader: parent}
if decoder.Length() < 12 {
return nil, fmt.Errorf("BsnPduTxRequest packet too short: %d < 12", decoder.Length())
}
_bsnpdutxrequest.TxIntervalMs = uint32(decoder.ReadUint32())
_bsnpdutxrequest.PortNo.Decode(decoder)
_bsnpdutxrequest.SlotNum = uint8(decoder.ReadByte())
decoder.Skip(3)
_bsnpdutxrequest.Data = decoder.Read(int(decoder.Length()))
return _bsnpdutxrequest, nil
}
func NewBsnPduTxRequest() *BsnPduTxRequest {
obj := &BsnPduTxRequest{
BsnHeader: NewBsnHeader(31),
}
return obj
}
type BsnPortCounterStatsReply struct {
*BsnStatsReply
Entries []*BsnPortCounterStatsEntry
}
type IBsnPortCounterStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnPortCounterStatsEntry
}
func (self *BsnPortCounterStatsReply) GetEntries() []*BsnPortCounterStatsEntry {
return self.Entries
}
func (self *BsnPortCounterStatsReply) SetEntries(v []*BsnPortCounterStatsEntry) {
self.Entries = v
}
func (self *BsnPortCounterStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnPortCounterStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnPortCounterStatsReply, error) {
_bsnportcounterstatsreply := &BsnPortCounterStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 8 {
item, err := DecodeBsnPortCounterStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsnportcounterstatsreply.Entries = append(_bsnportcounterstatsreply.Entries, item)
}
}
return _bsnportcounterstatsreply, nil
}
func NewBsnPortCounterStatsReply() *BsnPortCounterStatsReply {
obj := &BsnPortCounterStatsReply{
BsnStatsReply: NewBsnStatsReply(8),
}
return obj
}
type BsnPortCounterStatsRequest struct {
*BsnStatsRequest
PortNo Port
}
type IBsnPortCounterStatsRequest interface {
IBsnStatsRequest
GetPortNo() Port
}
func (self *BsnPortCounterStatsRequest) GetPortNo() Port {
return self.PortNo
}
func (self *BsnPortCounterStatsRequest) SetPortNo(v Port) {
self.PortNo = v
}
func (self *BsnPortCounterStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
self.PortNo.Serialize(encoder)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnPortCounterStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnPortCounterStatsRequest, error) {
_bsnportcounterstatsrequest := &BsnPortCounterStatsRequest{BsnStatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnPortCounterStatsRequest packet too short: %d < 4", decoder.Length())
}
_bsnportcounterstatsrequest.PortNo.Decode(decoder)
return _bsnportcounterstatsrequest, nil
}
func NewBsnPortCounterStatsRequest() *BsnPortCounterStatsRequest {
obj := &BsnPortCounterStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(8),
}
return obj
}
type BsnRoleStatus struct {
*BsnHeader
Role ControllerRole
Reason BsnControllerRoleReason
GenerationId uint64
}
type IBsnRoleStatus interface {
IBsnHeader
GetRole() ControllerRole
GetReason() BsnControllerRoleReason
GetGenerationId() uint64
}
func (self *BsnRoleStatus) GetRole() ControllerRole {
return self.Role
}
func (self *BsnRoleStatus) SetRole(v ControllerRole) {
self.Role = v
}
func (self *BsnRoleStatus) GetReason() BsnControllerRoleReason {
return self.Reason
}
func (self *BsnRoleStatus) SetReason(v BsnControllerRoleReason) {
self.Reason = v
}
func (self *BsnRoleStatus) GetGenerationId() uint64 {
return self.GenerationId
}
func (self *BsnRoleStatus) SetGenerationId(v uint64) {
self.GenerationId = v
}
func (self *BsnRoleStatus) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Role))
encoder.PutUint8(uint8(self.Reason))
encoder.Write(bytes.Repeat([]byte{0}, 3))
encoder.PutUint64(uint64(self.GenerationId))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnRoleStatus(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnRoleStatus, error) {
_bsnrolestatus := &BsnRoleStatus{BsnHeader: parent}
if decoder.Length() < 16 {
return nil, fmt.Errorf("BsnRoleStatus packet too short: %d < 16", decoder.Length())
}
_bsnrolestatus.Role = ControllerRole(decoder.ReadUint32())
_bsnrolestatus.Reason = BsnControllerRoleReason(decoder.ReadByte())
decoder.Skip(3)
_bsnrolestatus.GenerationId = uint64(decoder.ReadUint64())
return _bsnrolestatus, nil
}
func NewBsnRoleStatus() *BsnRoleStatus {
obj := &BsnRoleStatus{
BsnHeader: NewBsnHeader(55),
}
return obj
}
type BsnSetAuxCxnsReply struct {
*BsnHeader
NumAux uint32
Status uint32
}
type IBsnSetAuxCxnsReply interface {
IBsnHeader
GetNumAux() uint32
GetStatus() uint32
}
func (self *BsnSetAuxCxnsReply) GetNumAux() uint32 {
return self.NumAux
}
func (self *BsnSetAuxCxnsReply) SetNumAux(v uint32) {
self.NumAux = v
}
func (self *BsnSetAuxCxnsReply) GetStatus() uint32 {
return self.Status
}
func (self *BsnSetAuxCxnsReply) SetStatus(v uint32) {
self.Status = v
}
func (self *BsnSetAuxCxnsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.NumAux))
encoder.PutUint32(uint32(self.Status))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnSetAuxCxnsReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetAuxCxnsReply, error) {
_bsnsetauxcxnsreply := &BsnSetAuxCxnsReply{BsnHeader: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("BsnSetAuxCxnsReply packet too short: %d < 8", decoder.Length())
}
_bsnsetauxcxnsreply.NumAux = uint32(decoder.ReadUint32())
_bsnsetauxcxnsreply.Status = uint32(decoder.ReadUint32())
return _bsnsetauxcxnsreply, nil
}
func NewBsnSetAuxCxnsReply() *BsnSetAuxCxnsReply {
obj := &BsnSetAuxCxnsReply{
BsnHeader: NewBsnHeader(59),
}
return obj
}
type BsnSetAuxCxnsRequest struct {
*BsnHeader
NumAux uint32
}
type IBsnSetAuxCxnsRequest interface {
IBsnHeader
GetNumAux() uint32
}
func (self *BsnSetAuxCxnsRequest) GetNumAux() uint32 {
return self.NumAux
}
func (self *BsnSetAuxCxnsRequest) SetNumAux(v uint32) {
self.NumAux = v
}
func (self *BsnSetAuxCxnsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.NumAux))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnSetAuxCxnsRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetAuxCxnsRequest, error) {
_bsnsetauxcxnsrequest := &BsnSetAuxCxnsRequest{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnSetAuxCxnsRequest packet too short: %d < 4", decoder.Length())
}
_bsnsetauxcxnsrequest.NumAux = uint32(decoder.ReadUint32())
return _bsnsetauxcxnsrequest, nil
}
func NewBsnSetAuxCxnsRequest() *BsnSetAuxCxnsRequest {
obj := &BsnSetAuxCxnsRequest{
BsnHeader: NewBsnHeader(58),
}
return obj
}
type BsnSetLacpReply struct {
*BsnHeader
Status uint32
PortNo Port
}
type IBsnSetLacpReply interface {
IBsnHeader
GetStatus() uint32
GetPortNo() Port
}
func (self *BsnSetLacpReply) GetStatus() uint32 {
return self.Status
}
func (self *BsnSetLacpReply) SetStatus(v uint32) {
self.Status = v
}
func (self *BsnSetLacpReply) GetPortNo() Port {
return self.PortNo
}
func (self *BsnSetLacpReply) SetPortNo(v Port) {
self.PortNo = v
}
func (self *BsnSetLacpReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Status))
self.PortNo.Serialize(encoder)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnSetLacpReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetLacpReply, error) {
_bsnsetlacpreply := &BsnSetLacpReply{BsnHeader: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("BsnSetLacpReply packet too short: %d < 8", decoder.Length())
}
_bsnsetlacpreply.Status = uint32(decoder.ReadUint32())
_bsnsetlacpreply.PortNo.Decode(decoder)
return _bsnsetlacpreply, nil
}
func NewBsnSetLacpReply() *BsnSetLacpReply {
obj := &BsnSetLacpReply{
BsnHeader: NewBsnHeader(42),
}
return obj
}
type BsnSetLacpRequest struct {
*BsnHeader
Enabled uint8
PortNo Port
ActorSysPriority uint16
ActorSysMac net.HardwareAddr
ActorPortPriority uint16
ActorPortNum uint16
ActorKey uint16
}
type IBsnSetLacpRequest interface {
IBsnHeader
GetEnabled() uint8
GetPortNo() Port
GetActorSysPriority() uint16
GetActorSysMac() net.HardwareAddr
GetActorPortPriority() uint16
GetActorPortNum() uint16
GetActorKey() uint16
}
func (self *BsnSetLacpRequest) GetEnabled() uint8 {
return self.Enabled
}
func (self *BsnSetLacpRequest) SetEnabled(v uint8) {
self.Enabled = v
}
func (self *BsnSetLacpRequest) GetPortNo() Port {
return self.PortNo
}
func (self *BsnSetLacpRequest) SetPortNo(v Port) {
self.PortNo = v
}
func (self *BsnSetLacpRequest) GetActorSysPriority() uint16 {
return self.ActorSysPriority
}
func (self *BsnSetLacpRequest) SetActorSysPriority(v uint16) {
self.ActorSysPriority = v
}
func (self *BsnSetLacpRequest) GetActorSysMac() net.HardwareAddr {
return self.ActorSysMac
}
func (self *BsnSetLacpRequest) SetActorSysMac(v net.HardwareAddr) {
self.ActorSysMac = v
}
func (self *BsnSetLacpRequest) GetActorPortPriority() uint16 {
return self.ActorPortPriority
}
func (self *BsnSetLacpRequest) SetActorPortPriority(v uint16) {
self.ActorPortPriority = v
}
func (self *BsnSetLacpRequest) GetActorPortNum() uint16 {
return self.ActorPortNum
}
func (self *BsnSetLacpRequest) SetActorPortNum(v uint16) {
self.ActorPortNum = v
}
func (self *BsnSetLacpRequest) GetActorKey() uint16 {
return self.ActorKey
}
func (self *BsnSetLacpRequest) SetActorKey(v uint16) {
self.ActorKey = v
}
func (self *BsnSetLacpRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint8(uint8(self.Enabled))
encoder.Write(bytes.Repeat([]byte{0}, 3))
self.PortNo.Serialize(encoder)
encoder.PutUint16(uint16(self.ActorSysPriority))
encoder.Write(self.ActorSysMac)
encoder.PutUint16(uint16(self.ActorPortPriority))
encoder.PutUint16(uint16(self.ActorPortNum))
encoder.PutUint16(uint16(self.ActorKey))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnSetLacpRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetLacpRequest, error) {
_bsnsetlacprequest := &BsnSetLacpRequest{BsnHeader: parent}
if decoder.Length() < 22 {
return nil, fmt.Errorf("BsnSetLacpRequest packet too short: %d < 22", decoder.Length())
}
_bsnsetlacprequest.Enabled = uint8(decoder.ReadByte())
decoder.Skip(3)
_bsnsetlacprequest.PortNo.Decode(decoder)
_bsnsetlacprequest.ActorSysPriority = uint16(decoder.ReadUint16())
_bsnsetlacprequest.ActorSysMac = net.HardwareAddr(decoder.Read(6))
_bsnsetlacprequest.ActorPortPriority = uint16(decoder.ReadUint16())
_bsnsetlacprequest.ActorPortNum = uint16(decoder.ReadUint16())
_bsnsetlacprequest.ActorKey = uint16(decoder.ReadUint16())
return _bsnsetlacprequest, nil
}
func NewBsnSetLacpRequest() *BsnSetLacpRequest {
obj := &BsnSetLacpRequest{
BsnHeader: NewBsnHeader(41),
}
return obj
}
type BsnSetMirroring struct {
*BsnHeader
ReportMirrorPorts uint8
}
type IBsnSetMirroring interface {
IBsnHeader
GetReportMirrorPorts() uint8
}
func (self *BsnSetMirroring) GetReportMirrorPorts() uint8 {
return self.ReportMirrorPorts
}
func (self *BsnSetMirroring) SetReportMirrorPorts(v uint8) {
self.ReportMirrorPorts = v
}
func (self *BsnSetMirroring) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint8(uint8(self.ReportMirrorPorts))
encoder.Write(bytes.Repeat([]byte{0}, 3))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnSetMirroring(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetMirroring, error) {
_bsnsetmirroring := &BsnSetMirroring{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnSetMirroring packet too short: %d < 4", decoder.Length())
}
_bsnsetmirroring.ReportMirrorPorts = uint8(decoder.ReadByte())
decoder.Skip(3)
return _bsnsetmirroring, nil
}
func NewBsnSetMirroring() *BsnSetMirroring {
obj := &BsnSetMirroring{
BsnHeader: NewBsnHeader(3),
}
return obj
}
type BsnSetPktinSuppressionReply struct {
*BsnHeader
Status uint32
}
type IBsnSetPktinSuppressionReply interface {
IBsnHeader
GetStatus() uint32
}
func (self *BsnSetPktinSuppressionReply) GetStatus() uint32 {
return self.Status
}
func (self *BsnSetPktinSuppressionReply) SetStatus(v uint32) {
self.Status = v
}
func (self *BsnSetPktinSuppressionReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Status))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnSetPktinSuppressionReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetPktinSuppressionReply, error) {
_bsnsetpktinsuppressionreply := &BsnSetPktinSuppressionReply{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnSetPktinSuppressionReply packet too short: %d < 4", decoder.Length())
}
_bsnsetpktinsuppressionreply.Status = uint32(decoder.ReadUint32())
return _bsnsetpktinsuppressionreply, nil
}
func NewBsnSetPktinSuppressionReply() *BsnSetPktinSuppressionReply {
obj := &BsnSetPktinSuppressionReply{
BsnHeader: NewBsnHeader(25),
}
return obj
}
type BsnSetPktinSuppressionRequest struct {
*BsnHeader
Enabled uint8
IdleTimeout uint16
HardTimeout uint16
Priority uint16
Cookie uint64
}
type IBsnSetPktinSuppressionRequest interface {
IBsnHeader
GetEnabled() uint8
GetIdleTimeout() uint16
GetHardTimeout() uint16
GetPriority() uint16
GetCookie() uint64
}
func (self *BsnSetPktinSuppressionRequest) GetEnabled() uint8 {
return self.Enabled
}
func (self *BsnSetPktinSuppressionRequest) SetEnabled(v uint8) {
self.Enabled = v
}
func (self *BsnSetPktinSuppressionRequest) GetIdleTimeout() uint16 {
return self.IdleTimeout
}
func (self *BsnSetPktinSuppressionRequest) SetIdleTimeout(v uint16) {
self.IdleTimeout = v
}
func (self *BsnSetPktinSuppressionRequest) GetHardTimeout() uint16 {
return self.HardTimeout
}
func (self *BsnSetPktinSuppressionRequest) SetHardTimeout(v uint16) {
self.HardTimeout = v
}
func (self *BsnSetPktinSuppressionRequest) GetPriority() uint16 {
return self.Priority
}
func (self *BsnSetPktinSuppressionRequest) SetPriority(v uint16) {
self.Priority = v
}
func (self *BsnSetPktinSuppressionRequest) GetCookie() uint64 {
return self.Cookie
}
func (self *BsnSetPktinSuppressionRequest) SetCookie(v uint64) {
self.Cookie = v
}
func (self *BsnSetPktinSuppressionRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint8(uint8(self.Enabled))
encoder.Write(bytes.Repeat([]byte{0}, 1))
encoder.PutUint16(uint16(self.IdleTimeout))
encoder.PutUint16(uint16(self.HardTimeout))
encoder.PutUint16(uint16(self.Priority))
encoder.PutUint64(uint64(self.Cookie))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnSetPktinSuppressionRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetPktinSuppressionRequest, error) {
_bsnsetpktinsuppressionrequest := &BsnSetPktinSuppressionRequest{BsnHeader: parent}
if decoder.Length() < 16 {
return nil, fmt.Errorf("BsnSetPktinSuppressionRequest packet too short: %d < 16", decoder.Length())
}
_bsnsetpktinsuppressionrequest.Enabled = uint8(decoder.ReadByte())
decoder.Skip(1)
_bsnsetpktinsuppressionrequest.IdleTimeout = uint16(decoder.ReadUint16())
_bsnsetpktinsuppressionrequest.HardTimeout = uint16(decoder.ReadUint16())
_bsnsetpktinsuppressionrequest.Priority = uint16(decoder.ReadUint16())
_bsnsetpktinsuppressionrequest.Cookie = uint64(decoder.ReadUint64())
return _bsnsetpktinsuppressionrequest, nil
}
func NewBsnSetPktinSuppressionRequest() *BsnSetPktinSuppressionRequest {
obj := &BsnSetPktinSuppressionRequest{
BsnHeader: NewBsnHeader(11),
}
return obj
}
type BsnSetSwitchPipelineReply struct {
*BsnHeader
Status uint32
}
type IBsnSetSwitchPipelineReply interface {
IBsnHeader
GetStatus() uint32
}
func (self *BsnSetSwitchPipelineReply) GetStatus() uint32 {
return self.Status
}
func (self *BsnSetSwitchPipelineReply) SetStatus(v uint32) {
self.Status = v
}
func (self *BsnSetSwitchPipelineReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Status))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnSetSwitchPipelineReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetSwitchPipelineReply, error) {
_bsnsetswitchpipelinereply := &BsnSetSwitchPipelineReply{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnSetSwitchPipelineReply packet too short: %d < 4", decoder.Length())
}
_bsnsetswitchpipelinereply.Status = uint32(decoder.ReadUint32())
return _bsnsetswitchpipelinereply, nil
}
func NewBsnSetSwitchPipelineReply() *BsnSetSwitchPipelineReply {
obj := &BsnSetSwitchPipelineReply{
BsnHeader: NewBsnHeader(54),
}
return obj
}
type BsnSetSwitchPipelineRequest struct {
*BsnHeader
Pipeline string
}
type IBsnSetSwitchPipelineRequest interface {
IBsnHeader
GetPipeline() string
}
func (self *BsnSetSwitchPipelineRequest) GetPipeline() string {
return self.Pipeline
}
func (self *BsnSetSwitchPipelineRequest) SetPipeline(v string) {
self.Pipeline = v
}
func (self *BsnSetSwitchPipelineRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.Write([]byte(self.Pipeline))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnSetSwitchPipelineRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnSetSwitchPipelineRequest, error) {
_bsnsetswitchpipelinerequest := &BsnSetSwitchPipelineRequest{BsnHeader: parent}
if decoder.Length() < 256 {
return nil, fmt.Errorf("BsnSetSwitchPipelineRequest packet too short: %d < 256", decoder.Length())
}
_bsnsetswitchpipelinerequest.Pipeline = string(bytes.Trim(decoder.Read(256), "\x00"))
return _bsnsetswitchpipelinerequest, nil
}
func NewBsnSetSwitchPipelineRequest() *BsnSetSwitchPipelineRequest {
obj := &BsnSetSwitchPipelineRequest{
BsnHeader: NewBsnHeader(53),
}
return obj
}
type BsnSwitchPipelineStatsReply struct {
*BsnStatsReply
Entries []*BsnSwitchPipelineStatsEntry
}
type IBsnSwitchPipelineStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnSwitchPipelineStatsEntry
}
func (self *BsnSwitchPipelineStatsReply) GetEntries() []*BsnSwitchPipelineStatsEntry {
return self.Entries
}
func (self *BsnSwitchPipelineStatsReply) SetEntries(v []*BsnSwitchPipelineStatsEntry) {
self.Entries = v
}
func (self *BsnSwitchPipelineStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnSwitchPipelineStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnSwitchPipelineStatsReply, error) {
_bsnswitchpipelinestatsreply := &BsnSwitchPipelineStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 256 {
item, err := DecodeBsnSwitchPipelineStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsnswitchpipelinestatsreply.Entries = append(_bsnswitchpipelinestatsreply.Entries, item)
}
}
return _bsnswitchpipelinestatsreply, nil
}
func NewBsnSwitchPipelineStatsReply() *BsnSwitchPipelineStatsReply {
obj := &BsnSwitchPipelineStatsReply{
BsnStatsReply: NewBsnStatsReply(6),
}
return obj
}
type BsnSwitchPipelineStatsRequest struct {
*BsnStatsRequest
}
type IBsnSwitchPipelineStatsRequest interface {
IBsnStatsRequest
}
func (self *BsnSwitchPipelineStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnSwitchPipelineStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnSwitchPipelineStatsRequest, error) {
_bsnswitchpipelinestatsrequest := &BsnSwitchPipelineStatsRequest{BsnStatsRequest: parent}
return _bsnswitchpipelinestatsrequest, nil
}
func NewBsnSwitchPipelineStatsRequest() *BsnSwitchPipelineStatsRequest {
obj := &BsnSwitchPipelineStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(6),
}
return obj
}
type BsnTableChecksumStatsReply struct {
*BsnStatsReply
Entries []*BsnTableChecksumStatsEntry
}
type IBsnTableChecksumStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnTableChecksumStatsEntry
}
func (self *BsnTableChecksumStatsReply) GetEntries() []*BsnTableChecksumStatsEntry {
return self.Entries
}
func (self *BsnTableChecksumStatsReply) SetEntries(v []*BsnTableChecksumStatsEntry) {
self.Entries = v
}
func (self *BsnTableChecksumStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnTableChecksumStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnTableChecksumStatsReply, error) {
_bsntablechecksumstatsreply := &BsnTableChecksumStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 9 {
item, err := DecodeBsnTableChecksumStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsntablechecksumstatsreply.Entries = append(_bsntablechecksumstatsreply.Entries, item)
}
}
return _bsntablechecksumstatsreply, nil
}
func NewBsnTableChecksumStatsReply() *BsnTableChecksumStatsReply {
obj := &BsnTableChecksumStatsReply{
BsnStatsReply: NewBsnStatsReply(11),
}
return obj
}
type BsnTableChecksumStatsRequest struct {
*BsnStatsRequest
}
type IBsnTableChecksumStatsRequest interface {
IBsnStatsRequest
}
func (self *BsnTableChecksumStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnTableChecksumStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnTableChecksumStatsRequest, error) {
_bsntablechecksumstatsrequest := &BsnTableChecksumStatsRequest{BsnStatsRequest: parent}
return _bsntablechecksumstatsrequest, nil
}
func NewBsnTableChecksumStatsRequest() *BsnTableChecksumStatsRequest {
obj := &BsnTableChecksumStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(11),
}
return obj
}
type BsnTableSetBucketsSize struct {
*BsnHeader
TableId uint8
BucketsSize uint32
}
type IBsnTableSetBucketsSize interface {
IBsnHeader
GetTableId() uint8
GetBucketsSize() uint32
}
func (self *BsnTableSetBucketsSize) GetTableId() uint8 {
return self.TableId
}
func (self *BsnTableSetBucketsSize) SetTableId(v uint8) {
self.TableId = v
}
func (self *BsnTableSetBucketsSize) GetBucketsSize() uint32 {
return self.BucketsSize
}
func (self *BsnTableSetBucketsSize) SetBucketsSize(v uint32) {
self.BucketsSize = v
}
func (self *BsnTableSetBucketsSize) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 1))
encoder.PutUint8(uint8(self.TableId))
encoder.Write(bytes.Repeat([]byte{0}, 2))
encoder.PutUint32(uint32(self.BucketsSize))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnTableSetBucketsSize(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnTableSetBucketsSize, error) {
_bsntablesetbucketssize := &BsnTableSetBucketsSize{BsnHeader: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("BsnTableSetBucketsSize packet too short: %d < 8", decoder.Length())
}
decoder.Skip(1)
_bsntablesetbucketssize.TableId = uint8(decoder.ReadByte())
decoder.Skip(2)
_bsntablesetbucketssize.BucketsSize = uint32(decoder.ReadUint32())
return _bsntablesetbucketssize, nil
}
func NewBsnTableSetBucketsSize() *BsnTableSetBucketsSize {
obj := &BsnTableSetBucketsSize{
BsnHeader: NewBsnHeader(61),
}
return obj
}
type BsnTimeReply struct {
*BsnHeader
TimeMs uint64
}
type IBsnTimeReply interface {
IBsnHeader
GetTimeMs() uint64
}
func (self *BsnTimeReply) GetTimeMs() uint64 {
return self.TimeMs
}
func (self *BsnTimeReply) SetTimeMs(v uint64) {
self.TimeMs = v
}
func (self *BsnTimeReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint64(uint64(self.TimeMs))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnTimeReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnTimeReply, error) {
_bsntimereply := &BsnTimeReply{BsnHeader: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("BsnTimeReply packet too short: %d < 8", decoder.Length())
}
_bsntimereply.TimeMs = uint64(decoder.ReadUint64())
return _bsntimereply, nil
}
func NewBsnTimeReply() *BsnTimeReply {
obj := &BsnTimeReply{
BsnHeader: NewBsnHeader(45),
}
return obj
}
type BsnTimeRequest struct {
*BsnHeader
}
type IBsnTimeRequest interface {
IBsnHeader
}
func (self *BsnTimeRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnTimeRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnTimeRequest, error) {
_bsntimerequest := &BsnTimeRequest{BsnHeader: parent}
return _bsntimerequest, nil
}
func NewBsnTimeRequest() *BsnTimeRequest {
obj := &BsnTimeRequest{
BsnHeader: NewBsnHeader(44),
}
return obj
}
type BsnVirtualPortCreateReply struct {
*BsnHeader
Status uint32
VportNo uint32
}
type IBsnVirtualPortCreateReply interface {
IBsnHeader
GetStatus() uint32
GetVportNo() uint32
}
func (self *BsnVirtualPortCreateReply) GetStatus() uint32 {
return self.Status
}
func (self *BsnVirtualPortCreateReply) SetStatus(v uint32) {
self.Status = v
}
func (self *BsnVirtualPortCreateReply) GetVportNo() uint32 {
return self.VportNo
}
func (self *BsnVirtualPortCreateReply) SetVportNo(v uint32) {
self.VportNo = v
}
func (self *BsnVirtualPortCreateReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Status))
encoder.PutUint32(uint32(self.VportNo))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnVirtualPortCreateReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnVirtualPortCreateReply, error) {
_bsnvirtualportcreatereply := &BsnVirtualPortCreateReply{BsnHeader: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("BsnVirtualPortCreateReply packet too short: %d < 8", decoder.Length())
}
_bsnvirtualportcreatereply.Status = uint32(decoder.ReadUint32())
_bsnvirtualportcreatereply.VportNo = uint32(decoder.ReadUint32())
return _bsnvirtualportcreatereply, nil
}
func NewBsnVirtualPortCreateReply() *BsnVirtualPortCreateReply {
obj := &BsnVirtualPortCreateReply{
BsnHeader: NewBsnHeader(16),
}
return obj
}
type BsnVirtualPortCreateRequest struct {
*BsnHeader
Vport BSNVport
}
type IBsnVirtualPortCreateRequest interface {
IBsnHeader
GetVport() BSNVport
}
func (self *BsnVirtualPortCreateRequest) GetVport() BSNVport {
return self.Vport
}
func (self *BsnVirtualPortCreateRequest) SetVport(v BSNVport) {
self.Vport = v
}
func (self *BsnVirtualPortCreateRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
if err := self.Vport.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnVirtualPortCreateRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnVirtualPortCreateRequest, error) {
_bsnvirtualportcreaterequest := &BsnVirtualPortCreateRequest{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnVirtualPortCreateRequest packet too short: %d < 4", decoder.Length())
}
if err := _bsnvirtualportcreaterequest.Vport.Decode(decoder); err != nil {
return nil, err
}
return _bsnvirtualportcreaterequest, nil
}
func NewBsnVirtualPortCreateRequest() *BsnVirtualPortCreateRequest {
obj := &BsnVirtualPortCreateRequest{
BsnHeader: NewBsnHeader(15),
}
return obj
}
type BsnVirtualPortRemoveReply struct {
*BsnHeader
Status uint32
}
type IBsnVirtualPortRemoveReply interface {
IBsnHeader
GetStatus() uint32
}
func (self *BsnVirtualPortRemoveReply) GetStatus() uint32 {
return self.Status
}
func (self *BsnVirtualPortRemoveReply) SetStatus(v uint32) {
self.Status = v
}
func (self *BsnVirtualPortRemoveReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Status))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnVirtualPortRemoveReply(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnVirtualPortRemoveReply, error) {
_bsnvirtualportremovereply := &BsnVirtualPortRemoveReply{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnVirtualPortRemoveReply packet too short: %d < 4", decoder.Length())
}
_bsnvirtualportremovereply.Status = uint32(decoder.ReadUint32())
return _bsnvirtualportremovereply, nil
}
func NewBsnVirtualPortRemoveReply() *BsnVirtualPortRemoveReply {
obj := &BsnVirtualPortRemoveReply{
BsnHeader: NewBsnHeader(26),
}
return obj
}
type BsnVirtualPortRemoveRequest struct {
*BsnHeader
VportNo uint32
}
type IBsnVirtualPortRemoveRequest interface {
IBsnHeader
GetVportNo() uint32
}
func (self *BsnVirtualPortRemoveRequest) GetVportNo() uint32 {
return self.VportNo
}
func (self *BsnVirtualPortRemoveRequest) SetVportNo(v uint32) {
self.VportNo = v
}
func (self *BsnVirtualPortRemoveRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.VportNo))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnVirtualPortRemoveRequest(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnVirtualPortRemoveRequest, error) {
_bsnvirtualportremoverequest := &BsnVirtualPortRemoveRequest{BsnHeader: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnVirtualPortRemoveRequest packet too short: %d < 4", decoder.Length())
}
_bsnvirtualportremoverequest.VportNo = uint32(decoder.ReadUint32())
return _bsnvirtualportremoverequest, nil
}
func NewBsnVirtualPortRemoveRequest() *BsnVirtualPortRemoveRequest {
obj := &BsnVirtualPortRemoveRequest{
BsnHeader: NewBsnHeader(17),
}
return obj
}
type BsnVlanCounterClear struct {
*BsnHeader
VlanVid uint16
}
type IBsnVlanCounterClear interface {
IBsnHeader
GetVlanVid() uint16
}
func (self *BsnVlanCounterClear) GetVlanVid() uint16 {
return self.VlanVid
}
func (self *BsnVlanCounterClear) SetVlanVid(v uint16) {
self.VlanVid = v
}
func (self *BsnVlanCounterClear) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnHeader.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.VlanVid))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnVlanCounterClear(parent *BsnHeader, decoder *goloxi.Decoder) (*BsnVlanCounterClear, error) {
_bsnvlancounterclear := &BsnVlanCounterClear{BsnHeader: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("BsnVlanCounterClear packet too short: %d < 2", decoder.Length())
}
_bsnvlancounterclear.VlanVid = uint16(decoder.ReadUint16())
return _bsnvlancounterclear, nil
}
func NewBsnVlanCounterClear() *BsnVlanCounterClear {
obj := &BsnVlanCounterClear{
BsnHeader: NewBsnHeader(70),
}
return obj
}
type BsnVlanCounterStatsReply struct {
*BsnStatsReply
Entries []*BsnVlanCounterStatsEntry
}
type IBsnVlanCounterStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnVlanCounterStatsEntry
}
func (self *BsnVlanCounterStatsReply) GetEntries() []*BsnVlanCounterStatsEntry {
return self.Entries
}
func (self *BsnVlanCounterStatsReply) SetEntries(v []*BsnVlanCounterStatsEntry) {
self.Entries = v
}
func (self *BsnVlanCounterStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnVlanCounterStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnVlanCounterStatsReply, error) {
_bsnvlancounterstatsreply := &BsnVlanCounterStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 8 {
item, err := DecodeBsnVlanCounterStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsnvlancounterstatsreply.Entries = append(_bsnvlancounterstatsreply.Entries, item)
}
}
return _bsnvlancounterstatsreply, nil
}
func NewBsnVlanCounterStatsReply() *BsnVlanCounterStatsReply {
obj := &BsnVlanCounterStatsReply{
BsnStatsReply: NewBsnStatsReply(9),
}
return obj
}
type BsnVlanCounterStatsRequest struct {
*BsnStatsRequest
VlanVid uint16
}
type IBsnVlanCounterStatsRequest interface {
IBsnStatsRequest
GetVlanVid() uint16
}
func (self *BsnVlanCounterStatsRequest) GetVlanVid() uint16 {
return self.VlanVid
}
func (self *BsnVlanCounterStatsRequest) SetVlanVid(v uint16) {
self.VlanVid = v
}
func (self *BsnVlanCounterStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.VlanVid))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnVlanCounterStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnVlanCounterStatsRequest, error) {
_bsnvlancounterstatsrequest := &BsnVlanCounterStatsRequest{BsnStatsRequest: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("BsnVlanCounterStatsRequest packet too short: %d < 2", decoder.Length())
}
_bsnvlancounterstatsrequest.VlanVid = uint16(decoder.ReadUint16())
return _bsnvlancounterstatsrequest, nil
}
func NewBsnVlanCounterStatsRequest() *BsnVlanCounterStatsRequest {
obj := &BsnVlanCounterStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(9),
}
return obj
}
type BsnVrfCounterStatsReply struct {
*BsnStatsReply
Entries []*BsnVrfCounterStatsEntry
}
type IBsnVrfCounterStatsReply interface {
IBsnStatsReply
GetEntries() []*BsnVrfCounterStatsEntry
}
func (self *BsnVrfCounterStatsReply) GetEntries() []*BsnVrfCounterStatsEntry {
return self.Entries
}
func (self *BsnVrfCounterStatsReply) SetEntries(v []*BsnVrfCounterStatsEntry) {
self.Entries = v
}
func (self *BsnVrfCounterStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsReply.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnVrfCounterStatsReply(parent *BsnStatsReply, decoder *goloxi.Decoder) (*BsnVrfCounterStatsReply, error) {
_bsnvrfcounterstatsreply := &BsnVrfCounterStatsReply{BsnStatsReply: parent}
for decoder.Length() >= 8 {
item, err := DecodeBsnVrfCounterStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_bsnvrfcounterstatsreply.Entries = append(_bsnvrfcounterstatsreply.Entries, item)
}
}
return _bsnvrfcounterstatsreply, nil
}
func NewBsnVrfCounterStatsReply() *BsnVrfCounterStatsReply {
obj := &BsnVrfCounterStatsReply{
BsnStatsReply: NewBsnStatsReply(15),
}
return obj
}
type BsnVrfCounterStatsRequest struct {
*BsnStatsRequest
Vrf uint32
}
type IBsnVrfCounterStatsRequest interface {
IBsnStatsRequest
GetVrf() uint32
}
func (self *BsnVrfCounterStatsRequest) GetVrf() uint32 {
return self.Vrf
}
func (self *BsnVrfCounterStatsRequest) SetVrf(v uint32) {
self.Vrf = v
}
func (self *BsnVrfCounterStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.BsnStatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Vrf))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeBsnVrfCounterStatsRequest(parent *BsnStatsRequest, decoder *goloxi.Decoder) (*BsnVrfCounterStatsRequest, error) {
_bsnvrfcounterstatsrequest := &BsnVrfCounterStatsRequest{BsnStatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("BsnVrfCounterStatsRequest packet too short: %d < 4", decoder.Length())
}
_bsnvrfcounterstatsrequest.Vrf = uint32(decoder.ReadUint32())
return _bsnvrfcounterstatsrequest, nil
}
func NewBsnVrfCounterStatsRequest() *BsnVrfCounterStatsRequest {
obj := &BsnVrfCounterStatsRequest{
BsnStatsRequest: NewBsnStatsRequest(15),
}
return obj
}
type DescStatsReply struct {
*StatsReply
MfrDesc string
HwDesc string
SwDesc string
SerialNum string
DpDesc string
}
type IDescStatsReply interface {
IStatsReply
GetMfrDesc() string
GetHwDesc() string
GetSwDesc() string
GetSerialNum() string
GetDpDesc() string
}
func (self *DescStatsReply) GetMfrDesc() string {
return self.MfrDesc
}
func (self *DescStatsReply) SetMfrDesc(v string) {
self.MfrDesc = v
}
func (self *DescStatsReply) GetHwDesc() string {
return self.HwDesc
}
func (self *DescStatsReply) SetHwDesc(v string) {
self.HwDesc = v
}
func (self *DescStatsReply) GetSwDesc() string {
return self.SwDesc
}
func (self *DescStatsReply) SetSwDesc(v string) {
self.SwDesc = v
}
func (self *DescStatsReply) GetSerialNum() string {
return self.SerialNum
}
func (self *DescStatsReply) SetSerialNum(v string) {
self.SerialNum = v
}
func (self *DescStatsReply) GetDpDesc() string {
return self.DpDesc
}
func (self *DescStatsReply) SetDpDesc(v string) {
self.DpDesc = v
}
func (self *DescStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.Write([]byte(self.MfrDesc))
encoder.Write([]byte(self.HwDesc))
encoder.Write([]byte(self.SwDesc))
encoder.Write([]byte(self.SerialNum))
encoder.Write([]byte(self.DpDesc))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeDescStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*DescStatsReply, error) {
_descstatsreply := &DescStatsReply{StatsReply: parent}
if decoder.Length() < 1060 {
return nil, fmt.Errorf("DescStatsReply packet too short: %d < 1060", decoder.Length())
}
decoder.Skip(4)
_descstatsreply.MfrDesc = string(bytes.Trim(decoder.Read(256), "\x00"))
_descstatsreply.HwDesc = string(bytes.Trim(decoder.Read(256), "\x00"))
_descstatsreply.SwDesc = string(bytes.Trim(decoder.Read(256), "\x00"))
_descstatsreply.SerialNum = string(bytes.Trim(decoder.Read(32), "\x00"))
_descstatsreply.DpDesc = string(bytes.Trim(decoder.Read(256), "\x00"))
return _descstatsreply, nil
}
func NewDescStatsReply() *DescStatsReply {
obj := &DescStatsReply{
StatsReply: NewStatsReply(0),
}
return obj
}
type DescStatsRequest struct {
*StatsRequest
}
type IDescStatsRequest interface {
IStatsRequest
}
func (self *DescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeDescStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*DescStatsRequest, error) {
_descstatsrequest := &DescStatsRequest{StatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("DescStatsRequest packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
return _descstatsrequest, nil
}
func NewDescStatsRequest() *DescStatsRequest {
obj := &DescStatsRequest{
StatsRequest: NewStatsRequest(0),
}
return obj
}
type EchoReply struct {
*Header
Data []byte
}
type IEchoReply interface {
IHeader
GetData() []byte
}
func (self *EchoReply) GetData() []byte {
return self.Data
}
func (self *EchoReply) SetData(v []byte) {
self.Data = v
}
func (self *EchoReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeEchoReply(parent *Header, decoder *goloxi.Decoder) (*EchoReply, error) {
_echoreply := &EchoReply{Header: parent}
_echoreply.Data = decoder.Read(int(decoder.Length()))
return _echoreply, nil
}
func NewEchoReply() *EchoReply {
obj := &EchoReply{
Header: NewHeader(3),
}
return obj
}
type EchoRequest struct {
*Header
Data []byte
}
type IEchoRequest interface {
IHeader
GetData() []byte
}
func (self *EchoRequest) GetData() []byte {
return self.Data
}
func (self *EchoRequest) SetData(v []byte) {
self.Data = v
}
func (self *EchoRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeEchoRequest(parent *Header, decoder *goloxi.Decoder) (*EchoRequest, error) {
_echorequest := &EchoRequest{Header: parent}
_echorequest.Data = decoder.Read(int(decoder.Length()))
return _echorequest, nil
}
func NewEchoRequest() *EchoRequest {
obj := &EchoRequest{
Header: NewHeader(2),
}
return obj
}
type FeaturesReply struct {
*Header
DatapathId uint64
NBuffers uint32
NTables uint8
AuxiliaryId uint8
Capabilities Capabilities
Reserved uint32
}
type IFeaturesReply interface {
IHeader
GetDatapathId() uint64
GetNBuffers() uint32
GetNTables() uint8
GetAuxiliaryId() uint8
GetCapabilities() Capabilities
GetReserved() uint32
}
func (self *FeaturesReply) GetDatapathId() uint64 {
return self.DatapathId
}
func (self *FeaturesReply) SetDatapathId(v uint64) {
self.DatapathId = v
}
func (self *FeaturesReply) GetNBuffers() uint32 {
return self.NBuffers
}
func (self *FeaturesReply) SetNBuffers(v uint32) {
self.NBuffers = v
}
func (self *FeaturesReply) GetNTables() uint8 {
return self.NTables
}
func (self *FeaturesReply) SetNTables(v uint8) {
self.NTables = v
}
func (self *FeaturesReply) GetAuxiliaryId() uint8 {
return self.AuxiliaryId
}
func (self *FeaturesReply) SetAuxiliaryId(v uint8) {
self.AuxiliaryId = v
}
func (self *FeaturesReply) GetCapabilities() Capabilities {
return self.Capabilities
}
func (self *FeaturesReply) SetCapabilities(v Capabilities) {
self.Capabilities = v
}
func (self *FeaturesReply) GetReserved() uint32 {
return self.Reserved
}
func (self *FeaturesReply) SetReserved(v uint32) {
self.Reserved = v
}
func (self *FeaturesReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint64(uint64(self.DatapathId))
encoder.PutUint32(uint32(self.NBuffers))
encoder.PutUint8(uint8(self.NTables))
encoder.PutUint8(uint8(self.AuxiliaryId))
encoder.Write(bytes.Repeat([]byte{0}, 2))
encoder.PutUint32(uint32(self.Capabilities))
encoder.PutUint32(uint32(self.Reserved))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeFeaturesReply(parent *Header, decoder *goloxi.Decoder) (*FeaturesReply, error) {
_featuresreply := &FeaturesReply{Header: parent}
if decoder.Length() < 24 {
return nil, fmt.Errorf("FeaturesReply packet too short: %d < 24", decoder.Length())
}
_featuresreply.DatapathId = uint64(decoder.ReadUint64())
_featuresreply.NBuffers = uint32(decoder.ReadUint32())
_featuresreply.NTables = uint8(decoder.ReadByte())
_featuresreply.AuxiliaryId = uint8(decoder.ReadByte())
decoder.Skip(2)
_featuresreply.Capabilities = Capabilities(decoder.ReadUint32())
_featuresreply.Reserved = uint32(decoder.ReadUint32())
return _featuresreply, nil
}
func NewFeaturesReply() *FeaturesReply {
obj := &FeaturesReply{
Header: NewHeader(6),
}
return obj
}
type FeaturesRequest struct {
*Header
}
type IFeaturesRequest interface {
IHeader
}
func (self *FeaturesRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeFeaturesRequest(parent *Header, decoder *goloxi.Decoder) (*FeaturesRequest, error) {
_featuresrequest := &FeaturesRequest{Header: parent}
return _featuresrequest, nil
}
func NewFeaturesRequest() *FeaturesRequest {
obj := &FeaturesRequest{
Header: NewHeader(5),
}
return obj
}
type FlowMod struct {
*Header
Cookie uint64
CookieMask uint64
TableId uint8
Command FmCmd
IdleTimeout uint16
HardTimeout uint16
Priority uint16
BufferId uint32
OutPort Port
OutGroup uint32
Flags FlowModFlags
Match Match
Instructions []IInstruction
}
type IFlowMod interface {
IHeader
GetCookie() uint64
GetCookieMask() uint64
GetTableId() uint8
GetCommand() FmCmd
GetIdleTimeout() uint16
GetHardTimeout() uint16
GetPriority() uint16
GetBufferId() uint32
GetOutPort() Port
GetOutGroup() uint32
GetFlags() FlowModFlags
GetMatch() Match
GetInstructions() []IInstruction
}
func (self *FlowMod) GetCookie() uint64 {
return self.Cookie
}
func (self *FlowMod) SetCookie(v uint64) {
self.Cookie = v
}
func (self *FlowMod) GetCookieMask() uint64 {
return self.CookieMask
}
func (self *FlowMod) SetCookieMask(v uint64) {
self.CookieMask = v
}
func (self *FlowMod) GetTableId() uint8 {
return self.TableId
}
func (self *FlowMod) SetTableId(v uint8) {
self.TableId = v
}
func (self *FlowMod) GetCommand() FmCmd {
return self.Command
}
func (self *FlowMod) SetCommand(v FmCmd) {
self.Command = v
}
func (self *FlowMod) GetIdleTimeout() uint16 {
return self.IdleTimeout
}
func (self *FlowMod) SetIdleTimeout(v uint16) {
self.IdleTimeout = v
}
func (self *FlowMod) GetHardTimeout() uint16 {
return self.HardTimeout
}
func (self *FlowMod) SetHardTimeout(v uint16) {
self.HardTimeout = v
}
func (self *FlowMod) GetPriority() uint16 {
return self.Priority
}
func (self *FlowMod) SetPriority(v uint16) {
self.Priority = v
}
func (self *FlowMod) GetBufferId() uint32 {
return self.BufferId
}
func (self *FlowMod) SetBufferId(v uint32) {
self.BufferId = v
}
func (self *FlowMod) GetOutPort() Port {
return self.OutPort
}
func (self *FlowMod) SetOutPort(v Port) {
self.OutPort = v
}
func (self *FlowMod) GetOutGroup() uint32 {
return self.OutGroup
}
func (self *FlowMod) SetOutGroup(v uint32) {
self.OutGroup = v
}
func (self *FlowMod) GetFlags() FlowModFlags {
return self.Flags
}
func (self *FlowMod) SetFlags(v FlowModFlags) {
self.Flags = v
}
func (self *FlowMod) GetMatch() Match {
return self.Match
}
func (self *FlowMod) SetMatch(v Match) {
self.Match = v
}
func (self *FlowMod) GetInstructions() []IInstruction {
return self.Instructions
}
func (self *FlowMod) SetInstructions(v []IInstruction) {
self.Instructions = v
}
func (self *FlowMod) Serialize(encoder *goloxi.Encoder) error {
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint64(uint64(self.Cookie))
encoder.PutUint64(uint64(self.CookieMask))
encoder.PutUint8(uint8(self.TableId))
self.Command.Serialize(encoder)
encoder.PutUint16(uint16(self.IdleTimeout))
encoder.PutUint16(uint16(self.HardTimeout))
encoder.PutUint16(uint16(self.Priority))
encoder.PutUint32(uint32(self.BufferId))
self.OutPort.Serialize(encoder)
encoder.PutUint32(uint32(self.OutGroup))
encoder.PutUint16(uint16(self.Flags))
encoder.Write(bytes.Repeat([]byte{0}, 2))
if err := self.Match.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Instructions {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
return nil
}
func DecodeFlowMod(parent *Header, decoder *goloxi.Decoder) (IFlowMod, error) {
_flowmod := &FlowMod{Header: parent}
if decoder.Length() < 48 {
return nil, fmt.Errorf("FlowMod packet too short: %d < 48", decoder.Length())
}
_flowmod.Cookie = uint64(decoder.ReadUint64())
_flowmod.CookieMask = uint64(decoder.ReadUint64())
_flowmod.TableId = uint8(decoder.ReadByte())
_flowmod.Command.Decode(decoder)
_flowmod.IdleTimeout = uint16(decoder.ReadUint16())
_flowmod.HardTimeout = uint16(decoder.ReadUint16())
_flowmod.Priority = uint16(decoder.ReadUint16())
_flowmod.BufferId = uint32(decoder.ReadUint32())
_flowmod.OutPort.Decode(decoder)
_flowmod.OutGroup = uint32(decoder.ReadUint32())
_flowmod.Flags = FlowModFlags(decoder.ReadUint16())
decoder.Skip(2)
if err := _flowmod.Match.Decode(decoder); err != nil {
return nil, err
}
decoder.SkipAlign()
for decoder.Length() >= 4 {
item, err := DecodeInstruction(decoder)
if err != nil {
return nil, err
}
if item != nil {
_flowmod.Instructions = append(_flowmod.Instructions, item)
}
}
switch _flowmod.Command {
case 0:
return DecodeFlowAdd(_flowmod, decoder)
case 1:
return DecodeFlowModify(_flowmod, decoder)
case 2:
return DecodeFlowModifyStrict(_flowmod, decoder)
case 3:
return DecodeFlowDelete(_flowmod, decoder)
case 4:
return DecodeFlowDeleteStrict(_flowmod, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'FlowMod'", _flowmod.Command)
}
}
func NewFlowMod(__command FmCmd) *FlowMod {
obj := &FlowMod{
Header: NewHeader(14),
}
obj.Command = __command
return obj
}
type FlowAdd struct {
*FlowMod
}
type IFlowAdd interface {
IFlowMod
}
func (self *FlowAdd) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.FlowMod.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeFlowAdd(parent *FlowMod, decoder *goloxi.Decoder) (*FlowAdd, error) {
_flowadd := &FlowAdd{FlowMod: parent}
return _flowadd, nil
}
func NewFlowAdd() *FlowAdd {
obj := &FlowAdd{
FlowMod: NewFlowMod(0),
}
return obj
}
type FlowDelete struct {
*FlowMod
}
type IFlowDelete interface {
IFlowMod
}
func (self *FlowDelete) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.FlowMod.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeFlowDelete(parent *FlowMod, decoder *goloxi.Decoder) (*FlowDelete, error) {
_flowdelete := &FlowDelete{FlowMod: parent}
return _flowdelete, nil
}
func NewFlowDelete() *FlowDelete {
obj := &FlowDelete{
FlowMod: NewFlowMod(3),
}
return obj
}
type FlowDeleteStrict struct {
*FlowMod
}
type IFlowDeleteStrict interface {
IFlowMod
}
func (self *FlowDeleteStrict) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.FlowMod.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeFlowDeleteStrict(parent *FlowMod, decoder *goloxi.Decoder) (*FlowDeleteStrict, error) {
_flowdeletestrict := &FlowDeleteStrict{FlowMod: parent}
return _flowdeletestrict, nil
}
func NewFlowDeleteStrict() *FlowDeleteStrict {
obj := &FlowDeleteStrict{
FlowMod: NewFlowMod(4),
}
return obj
}
type FlowModFailedErrorMsg struct {
*ErrorMsg
Code FlowModFailedCode
Data []byte
}
type IFlowModFailedErrorMsg interface {
IErrorMsg
GetCode() FlowModFailedCode
GetData() []byte
}
func (self *FlowModFailedErrorMsg) GetCode() FlowModFailedCode {
return self.Code
}
func (self *FlowModFailedErrorMsg) SetCode(v FlowModFailedCode) {
self.Code = v
}
func (self *FlowModFailedErrorMsg) GetData() []byte {
return self.Data
}
func (self *FlowModFailedErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *FlowModFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeFlowModFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*FlowModFailedErrorMsg, error) {
_flowmodfailederrormsg := &FlowModFailedErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("FlowModFailedErrorMsg packet too short: %d < 2", decoder.Length())
}
_flowmodfailederrormsg.Code = FlowModFailedCode(decoder.ReadUint16())
_flowmodfailederrormsg.Data = decoder.Read(int(decoder.Length()))
return _flowmodfailederrormsg, nil
}
func NewFlowModFailedErrorMsg() *FlowModFailedErrorMsg {
obj := &FlowModFailedErrorMsg{
ErrorMsg: NewErrorMsg(5),
}
return obj
}
type FlowModify struct {
*FlowMod
}
type IFlowModify interface {
IFlowMod
}
func (self *FlowModify) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.FlowMod.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeFlowModify(parent *FlowMod, decoder *goloxi.Decoder) (*FlowModify, error) {
_flowmodify := &FlowModify{FlowMod: parent}
return _flowmodify, nil
}
func NewFlowModify() *FlowModify {
obj := &FlowModify{
FlowMod: NewFlowMod(1),
}
return obj
}
type FlowModifyStrict struct {
*FlowMod
}
type IFlowModifyStrict interface {
IFlowMod
}
func (self *FlowModifyStrict) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.FlowMod.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeFlowModifyStrict(parent *FlowMod, decoder *goloxi.Decoder) (*FlowModifyStrict, error) {
_flowmodifystrict := &FlowModifyStrict{FlowMod: parent}
return _flowmodifystrict, nil
}
func NewFlowModifyStrict() *FlowModifyStrict {
obj := &FlowModifyStrict{
FlowMod: NewFlowMod(2),
}
return obj
}
type FlowRemoved struct {
*Header
Cookie uint64
Priority uint16
Reason FlowRemovedReason
TableId uint8
DurationSec uint32
DurationNsec uint32
IdleTimeout uint16
HardTimeout uint16
PacketCount uint64
ByteCount uint64
Match Match
}
type IFlowRemoved interface {
IHeader
GetCookie() uint64
GetPriority() uint16
GetReason() FlowRemovedReason
GetTableId() uint8
GetDurationSec() uint32
GetDurationNsec() uint32
GetIdleTimeout() uint16
GetHardTimeout() uint16
GetPacketCount() uint64
GetByteCount() uint64
GetMatch() Match
}
func (self *FlowRemoved) GetCookie() uint64 {
return self.Cookie
}
func (self *FlowRemoved) SetCookie(v uint64) {
self.Cookie = v
}
func (self *FlowRemoved) GetPriority() uint16 {
return self.Priority
}
func (self *FlowRemoved) SetPriority(v uint16) {
self.Priority = v
}
func (self *FlowRemoved) GetReason() FlowRemovedReason {
return self.Reason
}
func (self *FlowRemoved) SetReason(v FlowRemovedReason) {
self.Reason = v
}
func (self *FlowRemoved) GetTableId() uint8 {
return self.TableId
}
func (self *FlowRemoved) SetTableId(v uint8) {
self.TableId = v
}
func (self *FlowRemoved) GetDurationSec() uint32 {
return self.DurationSec
}
func (self *FlowRemoved) SetDurationSec(v uint32) {
self.DurationSec = v
}
func (self *FlowRemoved) GetDurationNsec() uint32 {
return self.DurationNsec
}
func (self *FlowRemoved) SetDurationNsec(v uint32) {
self.DurationNsec = v
}
func (self *FlowRemoved) GetIdleTimeout() uint16 {
return self.IdleTimeout
}
func (self *FlowRemoved) SetIdleTimeout(v uint16) {
self.IdleTimeout = v
}
func (self *FlowRemoved) GetHardTimeout() uint16 {
return self.HardTimeout
}
func (self *FlowRemoved) SetHardTimeout(v uint16) {
self.HardTimeout = v
}
func (self *FlowRemoved) GetPacketCount() uint64 {
return self.PacketCount
}
func (self *FlowRemoved) SetPacketCount(v uint64) {
self.PacketCount = v
}
func (self *FlowRemoved) GetByteCount() uint64 {
return self.ByteCount
}
func (self *FlowRemoved) SetByteCount(v uint64) {
self.ByteCount = v
}
func (self *FlowRemoved) GetMatch() Match {
return self.Match
}
func (self *FlowRemoved) SetMatch(v Match) {
self.Match = v
}
func (self *FlowRemoved) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint64(uint64(self.Cookie))
encoder.PutUint16(uint16(self.Priority))
encoder.PutUint8(uint8(self.Reason))
encoder.PutUint8(uint8(self.TableId))
encoder.PutUint32(uint32(self.DurationSec))
encoder.PutUint32(uint32(self.DurationNsec))
encoder.PutUint16(uint16(self.IdleTimeout))
encoder.PutUint16(uint16(self.HardTimeout))
encoder.PutUint64(uint64(self.PacketCount))
encoder.PutUint64(uint64(self.ByteCount))
if err := self.Match.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeFlowRemoved(parent *Header, decoder *goloxi.Decoder) (*FlowRemoved, error) {
_flowremoved := &FlowRemoved{Header: parent}
if decoder.Length() < 48 {
return nil, fmt.Errorf("FlowRemoved packet too short: %d < 48", decoder.Length())
}
_flowremoved.Cookie = uint64(decoder.ReadUint64())
_flowremoved.Priority = uint16(decoder.ReadUint16())
_flowremoved.Reason = FlowRemovedReason(decoder.ReadByte())
_flowremoved.TableId = uint8(decoder.ReadByte())
_flowremoved.DurationSec = uint32(decoder.ReadUint32())
_flowremoved.DurationNsec = uint32(decoder.ReadUint32())
_flowremoved.IdleTimeout = uint16(decoder.ReadUint16())
_flowremoved.HardTimeout = uint16(decoder.ReadUint16())
_flowremoved.PacketCount = uint64(decoder.ReadUint64())
_flowremoved.ByteCount = uint64(decoder.ReadUint64())
if err := _flowremoved.Match.Decode(decoder); err != nil {
return nil, err
}
decoder.SkipAlign()
return _flowremoved, nil
}
func NewFlowRemoved() *FlowRemoved {
obj := &FlowRemoved{
Header: NewHeader(11),
}
return obj
}
type FlowStatsReply struct {
*StatsReply
Entries []*FlowStatsEntry
}
type IFlowStatsReply interface {
IStatsReply
GetEntries() []*FlowStatsEntry
}
func (self *FlowStatsReply) GetEntries() []*FlowStatsEntry {
return self.Entries
}
func (self *FlowStatsReply) SetEntries(v []*FlowStatsEntry) {
self.Entries = v
}
func (self *FlowStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeFlowStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*FlowStatsReply, error) {
_flowstatsreply := &FlowStatsReply{StatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("FlowStatsReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 56 {
item, err := DecodeFlowStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_flowstatsreply.Entries = append(_flowstatsreply.Entries, item)
}
}
return _flowstatsreply, nil
}
func NewFlowStatsReply() *FlowStatsReply {
obj := &FlowStatsReply{
StatsReply: NewStatsReply(1),
}
return obj
}
type FlowStatsRequest struct {
*StatsRequest
TableId uint8
OutPort Port
OutGroup uint32
Cookie uint64
CookieMask uint64
Match Match
}
type IFlowStatsRequest interface {
IStatsRequest
GetTableId() uint8
GetOutPort() Port
GetOutGroup() uint32
GetCookie() uint64
GetCookieMask() uint64
GetMatch() Match
}
func (self *FlowStatsRequest) GetTableId() uint8 {
return self.TableId
}
func (self *FlowStatsRequest) SetTableId(v uint8) {
self.TableId = v
}
func (self *FlowStatsRequest) GetOutPort() Port {
return self.OutPort
}
func (self *FlowStatsRequest) SetOutPort(v Port) {
self.OutPort = v
}
func (self *FlowStatsRequest) GetOutGroup() uint32 {
return self.OutGroup
}
func (self *FlowStatsRequest) SetOutGroup(v uint32) {
self.OutGroup = v
}
func (self *FlowStatsRequest) GetCookie() uint64 {
return self.Cookie
}
func (self *FlowStatsRequest) SetCookie(v uint64) {
self.Cookie = v
}
func (self *FlowStatsRequest) GetCookieMask() uint64 {
return self.CookieMask
}
func (self *FlowStatsRequest) SetCookieMask(v uint64) {
self.CookieMask = v
}
func (self *FlowStatsRequest) GetMatch() Match {
return self.Match
}
func (self *FlowStatsRequest) SetMatch(v Match) {
self.Match = v
}
func (self *FlowStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint8(uint8(self.TableId))
encoder.Write(bytes.Repeat([]byte{0}, 3))
self.OutPort.Serialize(encoder)
encoder.PutUint32(uint32(self.OutGroup))
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint64(uint64(self.Cookie))
encoder.PutUint64(uint64(self.CookieMask))
if err := self.Match.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeFlowStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*FlowStatsRequest, error) {
_flowstatsrequest := &FlowStatsRequest{StatsRequest: parent}
if decoder.Length() < 28 {
return nil, fmt.Errorf("FlowStatsRequest packet too short: %d < 28", decoder.Length())
}
decoder.Skip(4)
_flowstatsrequest.TableId = uint8(decoder.ReadByte())
decoder.Skip(3)
_flowstatsrequest.OutPort.Decode(decoder)
_flowstatsrequest.OutGroup = uint32(decoder.ReadUint32())
decoder.Skip(4)
_flowstatsrequest.Cookie = uint64(decoder.ReadUint64())
_flowstatsrequest.CookieMask = uint64(decoder.ReadUint64())
if err := _flowstatsrequest.Match.Decode(decoder); err != nil {
return nil, err
}
decoder.SkipAlign()
return _flowstatsrequest, nil
}
func NewFlowStatsRequest() *FlowStatsRequest {
obj := &FlowStatsRequest{
StatsRequest: NewStatsRequest(1),
}
return obj
}
type GetConfigReply struct {
*Header
Flags ConfigFlags
MissSendLen uint16
}
type IGetConfigReply interface {
IHeader
GetFlags() ConfigFlags
GetMissSendLen() uint16
}
func (self *GetConfigReply) GetFlags() ConfigFlags {
return self.Flags
}
func (self *GetConfigReply) SetFlags(v ConfigFlags) {
self.Flags = v
}
func (self *GetConfigReply) GetMissSendLen() uint16 {
return self.MissSendLen
}
func (self *GetConfigReply) SetMissSendLen(v uint16) {
self.MissSendLen = v
}
func (self *GetConfigReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Flags))
encoder.PutUint16(uint16(self.MissSendLen))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeGetConfigReply(parent *Header, decoder *goloxi.Decoder) (*GetConfigReply, error) {
_getconfigreply := &GetConfigReply{Header: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("GetConfigReply packet too short: %d < 4", decoder.Length())
}
_getconfigreply.Flags = ConfigFlags(decoder.ReadUint16())
_getconfigreply.MissSendLen = uint16(decoder.ReadUint16())
return _getconfigreply, nil
}
func NewGetConfigReply() *GetConfigReply {
obj := &GetConfigReply{
Header: NewHeader(8),
}
return obj
}
type GetConfigRequest struct {
*Header
}
type IGetConfigRequest interface {
IHeader
}
func (self *GetConfigRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeGetConfigRequest(parent *Header, decoder *goloxi.Decoder) (*GetConfigRequest, error) {
_getconfigrequest := &GetConfigRequest{Header: parent}
return _getconfigrequest, nil
}
func NewGetConfigRequest() *GetConfigRequest {
obj := &GetConfigRequest{
Header: NewHeader(7),
}
return obj
}
type GroupMod struct {
*Header
Command GroupModCommand
GroupType GroupType
GroupId uint32
Buckets []*Bucket
}
type IGroupMod interface {
IHeader
GetCommand() GroupModCommand
GetGroupType() GroupType
GetGroupId() uint32
GetBuckets() []*Bucket
}
func (self *GroupMod) GetCommand() GroupModCommand {
return self.Command
}
func (self *GroupMod) SetCommand(v GroupModCommand) {
self.Command = v
}
func (self *GroupMod) GetGroupType() GroupType {
return self.GroupType
}
func (self *GroupMod) SetGroupType(v GroupType) {
self.GroupType = v
}
func (self *GroupMod) GetGroupId() uint32 {
return self.GroupId
}
func (self *GroupMod) SetGroupId(v uint32) {
self.GroupId = v
}
func (self *GroupMod) GetBuckets() []*Bucket {
return self.Buckets
}
func (self *GroupMod) SetBuckets(v []*Bucket) {
self.Buckets = v
}
func (self *GroupMod) Serialize(encoder *goloxi.Encoder) error {
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Command))
encoder.PutUint8(uint8(self.GroupType))
encoder.Write(bytes.Repeat([]byte{0}, 1))
encoder.PutUint32(uint32(self.GroupId))
for _, obj := range self.Buckets {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
return nil
}
func DecodeGroupMod(parent *Header, decoder *goloxi.Decoder) (IGroupMod, error) {
_groupmod := &GroupMod{Header: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("GroupMod packet too short: %d < 8", decoder.Length())
}
_groupmod.Command = GroupModCommand(decoder.ReadUint16())
_groupmod.GroupType = GroupType(decoder.ReadByte())
decoder.Skip(1)
_groupmod.GroupId = uint32(decoder.ReadUint32())
for decoder.Length() >= 16 {
item, err := DecodeBucket(decoder)
if err != nil {
return nil, err
}
if item != nil {
_groupmod.Buckets = append(_groupmod.Buckets, item)
}
}
switch _groupmod.Command {
case 0:
return DecodeGroupAdd(_groupmod, decoder)
case 1:
return DecodeGroupModify(_groupmod, decoder)
case 2:
return DecodeGroupDelete(_groupmod, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'GroupMod'", _groupmod.Command)
}
}
func NewGroupMod(_command GroupModCommand) *GroupMod {
obj := &GroupMod{
Header: NewHeader(15),
}
obj.Command = _command
return obj
}
type GroupAdd struct {
*GroupMod
}
type IGroupAdd interface {
IGroupMod
}
func (self *GroupAdd) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.GroupMod.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeGroupAdd(parent *GroupMod, decoder *goloxi.Decoder) (*GroupAdd, error) {
_groupadd := &GroupAdd{GroupMod: parent}
return _groupadd, nil
}
func NewGroupAdd() *GroupAdd {
obj := &GroupAdd{
GroupMod: NewGroupMod(0),
}
return obj
}
type GroupDelete struct {
*GroupMod
}
type IGroupDelete interface {
IGroupMod
}
func (self *GroupDelete) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.GroupMod.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeGroupDelete(parent *GroupMod, decoder *goloxi.Decoder) (*GroupDelete, error) {
_groupdelete := &GroupDelete{GroupMod: parent}
return _groupdelete, nil
}
func NewGroupDelete() *GroupDelete {
obj := &GroupDelete{
GroupMod: NewGroupMod(2),
}
return obj
}
type GroupDescStatsReply struct {
*StatsReply
Entries []*GroupDescStatsEntry
}
type IGroupDescStatsReply interface {
IStatsReply
GetEntries() []*GroupDescStatsEntry
}
func (self *GroupDescStatsReply) GetEntries() []*GroupDescStatsEntry {
return self.Entries
}
func (self *GroupDescStatsReply) SetEntries(v []*GroupDescStatsEntry) {
self.Entries = v
}
func (self *GroupDescStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeGroupDescStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*GroupDescStatsReply, error) {
_groupdescstatsreply := &GroupDescStatsReply{StatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("GroupDescStatsReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 8 {
item, err := DecodeGroupDescStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_groupdescstatsreply.Entries = append(_groupdescstatsreply.Entries, item)
}
}
return _groupdescstatsreply, nil
}
func NewGroupDescStatsReply() *GroupDescStatsReply {
obj := &GroupDescStatsReply{
StatsReply: NewStatsReply(7),
}
return obj
}
type GroupDescStatsRequest struct {
*StatsRequest
}
type IGroupDescStatsRequest interface {
IStatsRequest
}
func (self *GroupDescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeGroupDescStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*GroupDescStatsRequest, error) {
_groupdescstatsrequest := &GroupDescStatsRequest{StatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("GroupDescStatsRequest packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
return _groupdescstatsrequest, nil
}
func NewGroupDescStatsRequest() *GroupDescStatsRequest {
obj := &GroupDescStatsRequest{
StatsRequest: NewStatsRequest(7),
}
return obj
}
type GroupFeaturesStatsReply struct {
*StatsReply
Types uint32
Capabilities GroupCapabilities
MaxGroupsAll uint32
MaxGroupsSelect uint32
MaxGroupsIndirect uint32
MaxGroupsFf uint32
ActionsAll uint32
ActionsSelect uint32
ActionsIndirect uint32
ActionsFf uint32
}
type IGroupFeaturesStatsReply interface {
IStatsReply
GetTypes() uint32
GetCapabilities() GroupCapabilities
GetMaxGroupsAll() uint32
GetMaxGroupsSelect() uint32
GetMaxGroupsIndirect() uint32
GetMaxGroupsFf() uint32
GetActionsAll() uint32
GetActionsSelect() uint32
GetActionsIndirect() uint32
GetActionsFf() uint32
}
func (self *GroupFeaturesStatsReply) GetTypes() uint32 {
return self.Types
}
func (self *GroupFeaturesStatsReply) SetTypes(v uint32) {
self.Types = v
}
func (self *GroupFeaturesStatsReply) GetCapabilities() GroupCapabilities {
return self.Capabilities
}
func (self *GroupFeaturesStatsReply) SetCapabilities(v GroupCapabilities) {
self.Capabilities = v
}
func (self *GroupFeaturesStatsReply) GetMaxGroupsAll() uint32 {
return self.MaxGroupsAll
}
func (self *GroupFeaturesStatsReply) SetMaxGroupsAll(v uint32) {
self.MaxGroupsAll = v
}
func (self *GroupFeaturesStatsReply) GetMaxGroupsSelect() uint32 {
return self.MaxGroupsSelect
}
func (self *GroupFeaturesStatsReply) SetMaxGroupsSelect(v uint32) {
self.MaxGroupsSelect = v
}
func (self *GroupFeaturesStatsReply) GetMaxGroupsIndirect() uint32 {
return self.MaxGroupsIndirect
}
func (self *GroupFeaturesStatsReply) SetMaxGroupsIndirect(v uint32) {
self.MaxGroupsIndirect = v
}
func (self *GroupFeaturesStatsReply) GetMaxGroupsFf() uint32 {
return self.MaxGroupsFf
}
func (self *GroupFeaturesStatsReply) SetMaxGroupsFf(v uint32) {
self.MaxGroupsFf = v
}
func (self *GroupFeaturesStatsReply) GetActionsAll() uint32 {
return self.ActionsAll
}
func (self *GroupFeaturesStatsReply) SetActionsAll(v uint32) {
self.ActionsAll = v
}
func (self *GroupFeaturesStatsReply) GetActionsSelect() uint32 {
return self.ActionsSelect
}
func (self *GroupFeaturesStatsReply) SetActionsSelect(v uint32) {
self.ActionsSelect = v
}
func (self *GroupFeaturesStatsReply) GetActionsIndirect() uint32 {
return self.ActionsIndirect
}
func (self *GroupFeaturesStatsReply) SetActionsIndirect(v uint32) {
self.ActionsIndirect = v
}
func (self *GroupFeaturesStatsReply) GetActionsFf() uint32 {
return self.ActionsFf
}
func (self *GroupFeaturesStatsReply) SetActionsFf(v uint32) {
self.ActionsFf = v
}
func (self *GroupFeaturesStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint32(uint32(self.Types))
encoder.PutUint32(uint32(self.Capabilities))
encoder.PutUint32(uint32(self.MaxGroupsAll))
encoder.PutUint32(uint32(self.MaxGroupsSelect))
encoder.PutUint32(uint32(self.MaxGroupsIndirect))
encoder.PutUint32(uint32(self.MaxGroupsFf))
encoder.PutUint32(uint32(self.ActionsAll))
encoder.PutUint32(uint32(self.ActionsSelect))
encoder.PutUint32(uint32(self.ActionsIndirect))
encoder.PutUint32(uint32(self.ActionsFf))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeGroupFeaturesStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*GroupFeaturesStatsReply, error) {
_groupfeaturesstatsreply := &GroupFeaturesStatsReply{StatsReply: parent}
if decoder.Length() < 44 {
return nil, fmt.Errorf("GroupFeaturesStatsReply packet too short: %d < 44", decoder.Length())
}
decoder.Skip(4)
_groupfeaturesstatsreply.Types = uint32(decoder.ReadUint32())
_groupfeaturesstatsreply.Capabilities = GroupCapabilities(decoder.ReadUint32())
_groupfeaturesstatsreply.MaxGroupsAll = uint32(decoder.ReadUint32())
_groupfeaturesstatsreply.MaxGroupsSelect = uint32(decoder.ReadUint32())
_groupfeaturesstatsreply.MaxGroupsIndirect = uint32(decoder.ReadUint32())
_groupfeaturesstatsreply.MaxGroupsFf = uint32(decoder.ReadUint32())
_groupfeaturesstatsreply.ActionsAll = uint32(decoder.ReadUint32())
_groupfeaturesstatsreply.ActionsSelect = uint32(decoder.ReadUint32())
_groupfeaturesstatsreply.ActionsIndirect = uint32(decoder.ReadUint32())
_groupfeaturesstatsreply.ActionsFf = uint32(decoder.ReadUint32())
return _groupfeaturesstatsreply, nil
}
func NewGroupFeaturesStatsReply() *GroupFeaturesStatsReply {
obj := &GroupFeaturesStatsReply{
StatsReply: NewStatsReply(8),
}
return obj
}
type GroupFeaturesStatsRequest struct {
*StatsRequest
}
type IGroupFeaturesStatsRequest interface {
IStatsRequest
}
func (self *GroupFeaturesStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeGroupFeaturesStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*GroupFeaturesStatsRequest, error) {
_groupfeaturesstatsrequest := &GroupFeaturesStatsRequest{StatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("GroupFeaturesStatsRequest packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
return _groupfeaturesstatsrequest, nil
}
func NewGroupFeaturesStatsRequest() *GroupFeaturesStatsRequest {
obj := &GroupFeaturesStatsRequest{
StatsRequest: NewStatsRequest(8),
}
return obj
}
type GroupModFailedErrorMsg struct {
*ErrorMsg
Code GroupModFailedCode
Data []byte
}
type IGroupModFailedErrorMsg interface {
IErrorMsg
GetCode() GroupModFailedCode
GetData() []byte
}
func (self *GroupModFailedErrorMsg) GetCode() GroupModFailedCode {
return self.Code
}
func (self *GroupModFailedErrorMsg) SetCode(v GroupModFailedCode) {
self.Code = v
}
func (self *GroupModFailedErrorMsg) GetData() []byte {
return self.Data
}
func (self *GroupModFailedErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *GroupModFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeGroupModFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*GroupModFailedErrorMsg, error) {
_groupmodfailederrormsg := &GroupModFailedErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("GroupModFailedErrorMsg packet too short: %d < 2", decoder.Length())
}
_groupmodfailederrormsg.Code = GroupModFailedCode(decoder.ReadUint16())
_groupmodfailederrormsg.Data = decoder.Read(int(decoder.Length()))
return _groupmodfailederrormsg, nil
}
func NewGroupModFailedErrorMsg() *GroupModFailedErrorMsg {
obj := &GroupModFailedErrorMsg{
ErrorMsg: NewErrorMsg(6),
}
return obj
}
type GroupModify struct {
*GroupMod
}
type IGroupModify interface {
IGroupMod
}
func (self *GroupModify) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.GroupMod.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeGroupModify(parent *GroupMod, decoder *goloxi.Decoder) (*GroupModify, error) {
_groupmodify := &GroupModify{GroupMod: parent}
return _groupmodify, nil
}
func NewGroupModify() *GroupModify {
obj := &GroupModify{
GroupMod: NewGroupMod(1),
}
return obj
}
type GroupStatsReply struct {
*StatsReply
Entries []*GroupStatsEntry
}
type IGroupStatsReply interface {
IStatsReply
GetEntries() []*GroupStatsEntry
}
func (self *GroupStatsReply) GetEntries() []*GroupStatsEntry {
return self.Entries
}
func (self *GroupStatsReply) SetEntries(v []*GroupStatsEntry) {
self.Entries = v
}
func (self *GroupStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeGroupStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*GroupStatsReply, error) {
_groupstatsreply := &GroupStatsReply{StatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("GroupStatsReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 40 {
item, err := DecodeGroupStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_groupstatsreply.Entries = append(_groupstatsreply.Entries, item)
}
}
return _groupstatsreply, nil
}
func NewGroupStatsReply() *GroupStatsReply {
obj := &GroupStatsReply{
StatsReply: NewStatsReply(6),
}
return obj
}
type GroupStatsRequest struct {
*StatsRequest
GroupId uint32
}
type IGroupStatsRequest interface {
IStatsRequest
GetGroupId() uint32
}
func (self *GroupStatsRequest) GetGroupId() uint32 {
return self.GroupId
}
func (self *GroupStatsRequest) SetGroupId(v uint32) {
self.GroupId = v
}
func (self *GroupStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint32(uint32(self.GroupId))
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeGroupStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*GroupStatsRequest, error) {
_groupstatsrequest := &GroupStatsRequest{StatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("GroupStatsRequest packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
_groupstatsrequest.GroupId = uint32(decoder.ReadUint32())
decoder.Skip(4)
return _groupstatsrequest, nil
}
func NewGroupStatsRequest() *GroupStatsRequest {
obj := &GroupStatsRequest{
StatsRequest: NewStatsRequest(6),
}
return obj
}
type Hello struct {
*Header
Elements []IHelloElem
}
type IHello interface {
IHeader
GetElements() []IHelloElem
}
func (self *Hello) GetElements() []IHelloElem {
return self.Elements
}
func (self *Hello) SetElements(v []IHelloElem) {
self.Elements = v
}
func (self *Hello) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
for _, obj := range self.Elements {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeHello(parent *Header, decoder *goloxi.Decoder) (*Hello, error) {
_hello := &Hello{Header: parent}
for decoder.Length() >= 4 {
item, err := DecodeHelloElem(decoder)
if err != nil {
return nil, err
}
if item != nil {
_hello.Elements = append(_hello.Elements, item)
}
}
return _hello, nil
}
func NewHello() *Hello {
obj := &Hello{
Header: NewHeader(0),
}
return obj
}
type HelloFailedErrorMsg struct {
*ErrorMsg
Code HelloFailedCode
Data []byte
}
type IHelloFailedErrorMsg interface {
IErrorMsg
GetCode() HelloFailedCode
GetData() []byte
}
func (self *HelloFailedErrorMsg) GetCode() HelloFailedCode {
return self.Code
}
func (self *HelloFailedErrorMsg) SetCode(v HelloFailedCode) {
self.Code = v
}
func (self *HelloFailedErrorMsg) GetData() []byte {
return self.Data
}
func (self *HelloFailedErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *HelloFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeHelloFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*HelloFailedErrorMsg, error) {
_hellofailederrormsg := &HelloFailedErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("HelloFailedErrorMsg packet too short: %d < 2", decoder.Length())
}
_hellofailederrormsg.Code = HelloFailedCode(decoder.ReadUint16())
_hellofailederrormsg.Data = decoder.Read(int(decoder.Length()))
return _hellofailederrormsg, nil
}
func NewHelloFailedErrorMsg() *HelloFailedErrorMsg {
obj := &HelloFailedErrorMsg{
ErrorMsg: NewErrorMsg(0),
}
return obj
}
type MeterConfigStatsReply struct {
*StatsReply
Entries []*MeterConfig
}
type IMeterConfigStatsReply interface {
IStatsReply
GetEntries() []*MeterConfig
}
func (self *MeterConfigStatsReply) GetEntries() []*MeterConfig {
return self.Entries
}
func (self *MeterConfigStatsReply) SetEntries(v []*MeterConfig) {
self.Entries = v
}
func (self *MeterConfigStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeMeterConfigStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*MeterConfigStatsReply, error) {
_meterconfigstatsreply := &MeterConfigStatsReply{StatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("MeterConfigStatsReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 8 {
item, err := DecodeMeterConfig(decoder)
if err != nil {
return nil, err
}
if item != nil {
_meterconfigstatsreply.Entries = append(_meterconfigstatsreply.Entries, item)
}
}
return _meterconfigstatsreply, nil
}
func NewMeterConfigStatsReply() *MeterConfigStatsReply {
obj := &MeterConfigStatsReply{
StatsReply: NewStatsReply(10),
}
return obj
}
type MeterConfigStatsRequest struct {
*StatsRequest
MeterId uint32
}
type IMeterConfigStatsRequest interface {
IStatsRequest
GetMeterId() uint32
}
func (self *MeterConfigStatsRequest) GetMeterId() uint32 {
return self.MeterId
}
func (self *MeterConfigStatsRequest) SetMeterId(v uint32) {
self.MeterId = v
}
func (self *MeterConfigStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint32(uint32(self.MeterId))
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeMeterConfigStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*MeterConfigStatsRequest, error) {
_meterconfigstatsrequest := &MeterConfigStatsRequest{StatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("MeterConfigStatsRequest packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
_meterconfigstatsrequest.MeterId = uint32(decoder.ReadUint32())
decoder.Skip(4)
return _meterconfigstatsrequest, nil
}
func NewMeterConfigStatsRequest() *MeterConfigStatsRequest {
obj := &MeterConfigStatsRequest{
StatsRequest: NewStatsRequest(10),
}
return obj
}
type MeterFeaturesStatsReply struct {
*StatsReply
Features MeterFeatures
}
type IMeterFeaturesStatsReply interface {
IStatsReply
GetFeatures() MeterFeatures
}
func (self *MeterFeaturesStatsReply) GetFeatures() MeterFeatures {
return self.Features
}
func (self *MeterFeaturesStatsReply) SetFeatures(v MeterFeatures) {
self.Features = v
}
func (self *MeterFeaturesStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
if err := self.Features.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeMeterFeaturesStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*MeterFeaturesStatsReply, error) {
_meterfeaturesstatsreply := &MeterFeaturesStatsReply{StatsReply: parent}
if decoder.Length() < 20 {
return nil, fmt.Errorf("MeterFeaturesStatsReply packet too short: %d < 20", decoder.Length())
}
decoder.Skip(4)
if err := _meterfeaturesstatsreply.Features.Decode(decoder); err != nil {
return nil, err
}
return _meterfeaturesstatsreply, nil
}
func NewMeterFeaturesStatsReply() *MeterFeaturesStatsReply {
obj := &MeterFeaturesStatsReply{
StatsReply: NewStatsReply(11),
}
return obj
}
type MeterFeaturesStatsRequest struct {
*StatsRequest
}
type IMeterFeaturesStatsRequest interface {
IStatsRequest
}
func (self *MeterFeaturesStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeMeterFeaturesStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*MeterFeaturesStatsRequest, error) {
_meterfeaturesstatsrequest := &MeterFeaturesStatsRequest{StatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("MeterFeaturesStatsRequest packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
return _meterfeaturesstatsrequest, nil
}
func NewMeterFeaturesStatsRequest() *MeterFeaturesStatsRequest {
obj := &MeterFeaturesStatsRequest{
StatsRequest: NewStatsRequest(11),
}
return obj
}
type MeterMod struct {
*Header
Command MeterModCommand
Flags MeterFlags
MeterId uint32
Meters []IMeterBand
}
type IMeterMod interface {
IHeader
GetCommand() MeterModCommand
GetFlags() MeterFlags
GetMeterId() uint32
GetMeters() []IMeterBand
}
func (self *MeterMod) GetCommand() MeterModCommand {
return self.Command
}
func (self *MeterMod) SetCommand(v MeterModCommand) {
self.Command = v
}
func (self *MeterMod) GetFlags() MeterFlags {
return self.Flags
}
func (self *MeterMod) SetFlags(v MeterFlags) {
self.Flags = v
}
func (self *MeterMod) GetMeterId() uint32 {
return self.MeterId
}
func (self *MeterMod) SetMeterId(v uint32) {
self.MeterId = v
}
func (self *MeterMod) GetMeters() []IMeterBand {
return self.Meters
}
func (self *MeterMod) SetMeters(v []IMeterBand) {
self.Meters = v
}
func (self *MeterMod) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Command))
encoder.PutUint16(uint16(self.Flags))
encoder.PutUint32(uint32(self.MeterId))
for _, obj := range self.Meters {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeMeterMod(parent *Header, decoder *goloxi.Decoder) (*MeterMod, error) {
_metermod := &MeterMod{Header: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("MeterMod packet too short: %d < 8", decoder.Length())
}
_metermod.Command = MeterModCommand(decoder.ReadUint16())
_metermod.Flags = MeterFlags(decoder.ReadUint16())
_metermod.MeterId = uint32(decoder.ReadUint32())
for decoder.Length() >= 4 {
item, err := DecodeMeterBand(decoder)
if err != nil {
return nil, err
}
if item != nil {
_metermod.Meters = append(_metermod.Meters, item)
}
}
return _metermod, nil
}
func NewMeterMod() *MeterMod {
obj := &MeterMod{
Header: NewHeader(29),
}
return obj
}
type MeterModFailedErrorMsg struct {
*ErrorMsg
Code MeterModFailedCode
Data []byte
}
type IMeterModFailedErrorMsg interface {
IErrorMsg
GetCode() MeterModFailedCode
GetData() []byte
}
func (self *MeterModFailedErrorMsg) GetCode() MeterModFailedCode {
return self.Code
}
func (self *MeterModFailedErrorMsg) SetCode(v MeterModFailedCode) {
self.Code = v
}
func (self *MeterModFailedErrorMsg) GetData() []byte {
return self.Data
}
func (self *MeterModFailedErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *MeterModFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeMeterModFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*MeterModFailedErrorMsg, error) {
_metermodfailederrormsg := &MeterModFailedErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("MeterModFailedErrorMsg packet too short: %d < 2", decoder.Length())
}
_metermodfailederrormsg.Code = MeterModFailedCode(decoder.ReadUint16())
_metermodfailederrormsg.Data = decoder.Read(int(decoder.Length()))
return _metermodfailederrormsg, nil
}
func NewMeterModFailedErrorMsg() *MeterModFailedErrorMsg {
obj := &MeterModFailedErrorMsg{
ErrorMsg: NewErrorMsg(12),
}
return obj
}
type MeterStatsReply struct {
*StatsReply
Entries []*MeterStats
}
type IMeterStatsReply interface {
IStatsReply
GetEntries() []*MeterStats
}
func (self *MeterStatsReply) GetEntries() []*MeterStats {
return self.Entries
}
func (self *MeterStatsReply) SetEntries(v []*MeterStats) {
self.Entries = v
}
func (self *MeterStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeMeterStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*MeterStatsReply, error) {
_meterstatsreply := &MeterStatsReply{StatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("MeterStatsReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 40 {
item, err := DecodeMeterStats(decoder)
if err != nil {
return nil, err
}
if item != nil {
_meterstatsreply.Entries = append(_meterstatsreply.Entries, item)
}
}
return _meterstatsreply, nil
}
func NewMeterStatsReply() *MeterStatsReply {
obj := &MeterStatsReply{
StatsReply: NewStatsReply(9),
}
return obj
}
type MeterStatsRequest struct {
*StatsRequest
MeterId uint32
}
type IMeterStatsRequest interface {
IStatsRequest
GetMeterId() uint32
}
func (self *MeterStatsRequest) GetMeterId() uint32 {
return self.MeterId
}
func (self *MeterStatsRequest) SetMeterId(v uint32) {
self.MeterId = v
}
func (self *MeterStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint32(uint32(self.MeterId))
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeMeterStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*MeterStatsRequest, error) {
_meterstatsrequest := &MeterStatsRequest{StatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("MeterStatsRequest packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
_meterstatsrequest.MeterId = uint32(decoder.ReadUint32())
decoder.Skip(4)
return _meterstatsrequest, nil
}
func NewMeterStatsRequest() *MeterStatsRequest {
obj := &MeterStatsRequest{
StatsRequest: NewStatsRequest(9),
}
return obj
}
type NiciraStatsReply struct {
*ExperimenterStatsReply
}
type INiciraStatsReply interface {
IExperimenterStatsReply
}
func (self *NiciraStatsReply) Serialize(encoder *goloxi.Encoder) error {
if err := self.ExperimenterStatsReply.Serialize(encoder); err != nil {
return err
}
return nil
}
func DecodeNiciraStatsReply(parent *ExperimenterStatsReply, decoder *goloxi.Decoder) (INiciraStatsReply, error) {
_nicirastatsreply := &NiciraStatsReply{ExperimenterStatsReply: parent}
if decoder.Length() < -4 {
return nil, fmt.Errorf("NiciraStatsReply packet too short: %d < -4", decoder.Length())
}
switch _nicirastatsreply.Subtype {
case 0:
return DecodeNiciraFlowStatsReply(_nicirastatsreply, decoder)
case 2:
return DecodeNiciraFlowMonitorReply(_nicirastatsreply, decoder)
default:
return nil, fmt.Errorf("Invalid type '%d' for 'NiciraStatsReply'", _nicirastatsreply.Subtype)
}
}
func NewNiciraStatsReply(_subtype uint32) *NiciraStatsReply {
obj := &NiciraStatsReply{
ExperimenterStatsReply: NewExperimenterStatsReply(8992),
}
obj.Subtype = _subtype
return obj
}
type NiciraFlowMonitorReply struct {
*NiciraStatsReply
Updates []INiciraFlowUpdateEvent
}
type INiciraFlowMonitorReply interface {
INiciraStatsReply
GetUpdates() []INiciraFlowUpdateEvent
}
func (self *NiciraFlowMonitorReply) GetUpdates() []INiciraFlowUpdateEvent {
return self.Updates
}
func (self *NiciraFlowMonitorReply) SetUpdates(v []INiciraFlowUpdateEvent) {
self.Updates = v
}
func (self *NiciraFlowMonitorReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.NiciraStatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Updates {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeNiciraFlowMonitorReply(parent *NiciraStatsReply, decoder *goloxi.Decoder) (*NiciraFlowMonitorReply, error) {
_niciraflowmonitorreply := &NiciraFlowMonitorReply{NiciraStatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("NiciraFlowMonitorReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 4 {
item, err := DecodeNiciraFlowUpdateEvent(decoder)
if err != nil {
return nil, err
}
if item != nil {
_niciraflowmonitorreply.Updates = append(_niciraflowmonitorreply.Updates, item)
}
}
return _niciraflowmonitorreply, nil
}
func NewNiciraFlowMonitorReply() *NiciraFlowMonitorReply {
obj := &NiciraFlowMonitorReply{
NiciraStatsReply: NewNiciraStatsReply(2),
}
return obj
}
type NiciraFlowMonitorRequest struct {
*ExperimenterStatsRequest
MonitorId uint32
MonitorFlags NxFlowMonitorFlags
OutPort Port
MatchLen uint16
TableId uint8
Match NiciraMatch
}
type INiciraFlowMonitorRequest interface {
IExperimenterStatsRequest
GetMonitorId() uint32
GetMonitorFlags() NxFlowMonitorFlags
GetOutPort() Port
GetMatchLen() uint16
GetTableId() uint8
GetMatch() NiciraMatch
}
func (self *NiciraFlowMonitorRequest) GetMonitorId() uint32 {
return self.MonitorId
}
func (self *NiciraFlowMonitorRequest) SetMonitorId(v uint32) {
self.MonitorId = v
}
func (self *NiciraFlowMonitorRequest) GetMonitorFlags() NxFlowMonitorFlags {
return self.MonitorFlags
}
func (self *NiciraFlowMonitorRequest) SetMonitorFlags(v NxFlowMonitorFlags) {
self.MonitorFlags = v
}
func (self *NiciraFlowMonitorRequest) GetOutPort() Port {
return self.OutPort
}
func (self *NiciraFlowMonitorRequest) SetOutPort(v Port) {
self.OutPort = v
}
func (self *NiciraFlowMonitorRequest) GetMatchLen() uint16 {
return self.MatchLen
}
func (self *NiciraFlowMonitorRequest) SetMatchLen(v uint16) {
self.MatchLen = v
}
func (self *NiciraFlowMonitorRequest) GetTableId() uint8 {
return self.TableId
}
func (self *NiciraFlowMonitorRequest) SetTableId(v uint8) {
self.TableId = v
}
func (self *NiciraFlowMonitorRequest) GetMatch() NiciraMatch {
return self.Match
}
func (self *NiciraFlowMonitorRequest) SetMatch(v NiciraMatch) {
self.Match = v
}
func (self *NiciraFlowMonitorRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ExperimenterStatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint32(uint32(self.MonitorId))
encoder.PutUint16(uint16(self.MonitorFlags))
self.OutPort.Serialize(encoder)
encoder.PutUint16(uint16(self.MatchLen))
encoder.PutUint8(uint8(self.TableId))
encoder.Write(bytes.Repeat([]byte{0}, 5))
if err := self.Match.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeNiciraFlowMonitorRequest(parent *ExperimenterStatsRequest, decoder *goloxi.Decoder) (*NiciraFlowMonitorRequest, error) {
_niciraflowmonitorrequest := &NiciraFlowMonitorRequest{ExperimenterStatsRequest: parent}
if decoder.Length() < 22 {
return nil, fmt.Errorf("NiciraFlowMonitorRequest packet too short: %d < 22", decoder.Length())
}
decoder.Skip(4)
_niciraflowmonitorrequest.MonitorId = uint32(decoder.ReadUint32())
_niciraflowmonitorrequest.MonitorFlags = NxFlowMonitorFlags(decoder.ReadUint16())
_niciraflowmonitorrequest.OutPort.Decode(decoder)
_niciraflowmonitorrequest.MatchLen = uint16(decoder.ReadUint16())
_niciraflowmonitorrequest.TableId = uint8(decoder.ReadByte())
decoder.Skip(5)
if err := _niciraflowmonitorrequest.Match.Decode(decoder); err != nil {
return nil, err
}
decoder.SkipAlign()
return _niciraflowmonitorrequest, nil
}
func NewNiciraFlowMonitorRequest() *NiciraFlowMonitorRequest {
obj := &NiciraFlowMonitorRequest{
ExperimenterStatsRequest: NewExperimenterStatsRequest(8992),
}
return obj
}
type NiciraFlowStatsReply struct {
*NiciraStatsReply
Stats []*NiciraFlowStats
}
type INiciraFlowStatsReply interface {
INiciraStatsReply
GetStats() []*NiciraFlowStats
}
func (self *NiciraFlowStatsReply) GetStats() []*NiciraFlowStats {
return self.Stats
}
func (self *NiciraFlowStatsReply) SetStats(v []*NiciraFlowStats) {
self.Stats = v
}
func (self *NiciraFlowStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.NiciraStatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Stats {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeNiciraFlowStatsReply(parent *NiciraStatsReply, decoder *goloxi.Decoder) (*NiciraFlowStatsReply, error) {
_niciraflowstatsreply := &NiciraFlowStatsReply{NiciraStatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("NiciraFlowStatsReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 48 {
item, err := DecodeNiciraFlowStats(decoder)
if err != nil {
return nil, err
}
if item != nil {
_niciraflowstatsreply.Stats = append(_niciraflowstatsreply.Stats, item)
}
}
return _niciraflowstatsreply, nil
}
func NewNiciraFlowStatsReply() *NiciraFlowStatsReply {
obj := &NiciraFlowStatsReply{
NiciraStatsReply: NewNiciraStatsReply(0),
}
return obj
}
type NiciraFlowStatsRequest struct {
*ExperimenterStatsRequest
OutPort Port
MatchLen uint16
TableId uint8
}
type INiciraFlowStatsRequest interface {
IExperimenterStatsRequest
GetOutPort() Port
GetMatchLen() uint16
GetTableId() uint8
}
func (self *NiciraFlowStatsRequest) GetOutPort() Port {
return self.OutPort
}
func (self *NiciraFlowStatsRequest) SetOutPort(v Port) {
self.OutPort = v
}
func (self *NiciraFlowStatsRequest) GetMatchLen() uint16 {
return self.MatchLen
}
func (self *NiciraFlowStatsRequest) SetMatchLen(v uint16) {
self.MatchLen = v
}
func (self *NiciraFlowStatsRequest) GetTableId() uint8 {
return self.TableId
}
func (self *NiciraFlowStatsRequest) SetTableId(v uint8) {
self.TableId = v
}
func (self *NiciraFlowStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ExperimenterStatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
self.OutPort.Serialize(encoder)
encoder.PutUint16(uint16(self.MatchLen))
encoder.PutUint8(uint8(self.TableId))
encoder.Write(bytes.Repeat([]byte{0}, 3))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeNiciraFlowStatsRequest(parent *ExperimenterStatsRequest, decoder *goloxi.Decoder) (*NiciraFlowStatsRequest, error) {
_niciraflowstatsrequest := &NiciraFlowStatsRequest{ExperimenterStatsRequest: parent}
if decoder.Length() < 14 {
return nil, fmt.Errorf("NiciraFlowStatsRequest packet too short: %d < 14", decoder.Length())
}
decoder.Skip(4)
_niciraflowstatsrequest.OutPort.Decode(decoder)
_niciraflowstatsrequest.MatchLen = uint16(decoder.ReadUint16())
_niciraflowstatsrequest.TableId = uint8(decoder.ReadByte())
decoder.Skip(3)
return _niciraflowstatsrequest, nil
}
func NewNiciraFlowStatsRequest() *NiciraFlowStatsRequest {
obj := &NiciraFlowStatsRequest{
ExperimenterStatsRequest: NewExperimenterStatsRequest(8992),
}
return obj
}
type NiciraHeader struct {
*Experimenter
}
type INiciraHeader interface {
IExperimenter
}
func (self *NiciraHeader) Serialize(encoder *goloxi.Encoder) error {
if err := self.Experimenter.Serialize(encoder); err != nil {
return err
}
return nil
}
func DecodeNiciraHeader(parent *Experimenter, decoder *goloxi.Decoder) (INiciraHeader, error) {
_niciraheader := &NiciraHeader{Experimenter: parent}
return _niciraheader, nil
}
func NewNiciraHeader(_subtype uint32) *NiciraHeader {
obj := &NiciraHeader{
Experimenter: NewExperimenter(8992),
}
obj.Subtype = _subtype
return obj
}
type PacketIn struct {
*Header
BufferId uint32
TotalLen uint16
Reason uint8
TableId uint8
Cookie uint64
Match Match
Data []byte
}
type IPacketIn interface {
IHeader
GetBufferId() uint32
GetTotalLen() uint16
GetReason() uint8
GetTableId() uint8
GetCookie() uint64
GetMatch() Match
GetData() []byte
}
func (self *PacketIn) GetBufferId() uint32 {
return self.BufferId
}
func (self *PacketIn) SetBufferId(v uint32) {
self.BufferId = v
}
func (self *PacketIn) GetTotalLen() uint16 {
return self.TotalLen
}
func (self *PacketIn) SetTotalLen(v uint16) {
self.TotalLen = v
}
func (self *PacketIn) GetReason() uint8 {
return self.Reason
}
func (self *PacketIn) SetReason(v uint8) {
self.Reason = v
}
func (self *PacketIn) GetTableId() uint8 {
return self.TableId
}
func (self *PacketIn) SetTableId(v uint8) {
self.TableId = v
}
func (self *PacketIn) GetCookie() uint64 {
return self.Cookie
}
func (self *PacketIn) SetCookie(v uint64) {
self.Cookie = v
}
func (self *PacketIn) GetMatch() Match {
return self.Match
}
func (self *PacketIn) SetMatch(v Match) {
self.Match = v
}
func (self *PacketIn) GetData() []byte {
return self.Data
}
func (self *PacketIn) SetData(v []byte) {
self.Data = v
}
func (self *PacketIn) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.BufferId))
encoder.PutUint16(uint16(self.TotalLen))
encoder.PutUint8(uint8(self.Reason))
encoder.PutUint8(uint8(self.TableId))
encoder.PutUint64(uint64(self.Cookie))
if err := self.Match.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 2))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodePacketIn(parent *Header, decoder *goloxi.Decoder) (*PacketIn, error) {
_packetin := &PacketIn{Header: parent}
if decoder.Length() < 26 {
return nil, fmt.Errorf("PacketIn packet too short: %d < 26", decoder.Length())
}
_packetin.BufferId = uint32(decoder.ReadUint32())
_packetin.TotalLen = uint16(decoder.ReadUint16())
_packetin.Reason = uint8(decoder.ReadByte())
_packetin.TableId = uint8(decoder.ReadByte())
_packetin.Cookie = uint64(decoder.ReadUint64())
if err := _packetin.Match.Decode(decoder); err != nil {
return nil, err
}
decoder.SkipAlign()
decoder.Skip(2)
_packetin.Data = decoder.Read(int(decoder.Length()))
return _packetin, nil
}
func NewPacketIn() *PacketIn {
obj := &PacketIn{
Header: NewHeader(10),
}
return obj
}
type PacketOut struct {
*Header
BufferId uint32
InPort Port
ActionsLen uint16
Actions []goloxi.IAction
Data []byte
}
type IPacketOut interface {
IHeader
GetBufferId() uint32
GetInPort() Port
GetActionsLen() uint16
GetActions() []goloxi.IAction
GetData() []byte
}
func (self *PacketOut) GetBufferId() uint32 {
return self.BufferId
}
func (self *PacketOut) SetBufferId(v uint32) {
self.BufferId = v
}
func (self *PacketOut) GetInPort() Port {
return self.InPort
}
func (self *PacketOut) SetInPort(v Port) {
self.InPort = v
}
func (self *PacketOut) GetActionsLen() uint16 {
return self.ActionsLen
}
func (self *PacketOut) SetActionsLen(v uint16) {
self.ActionsLen = v
}
func (self *PacketOut) GetActions() []goloxi.IAction {
return self.Actions
}
func (self *PacketOut) SetActions(v []goloxi.IAction) {
self.Actions = v
}
func (self *PacketOut) GetData() []byte {
return self.Data
}
func (self *PacketOut) SetData(v []byte) {
self.Data = v
}
func (self *PacketOut) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.BufferId))
self.InPort.Serialize(encoder)
encoder.PutUint16(uint16(self.ActionsLen))
encoder.Write(bytes.Repeat([]byte{0}, 6))
for _, obj := range self.Actions {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodePacketOut(parent *Header, decoder *goloxi.Decoder) (*PacketOut, error) {
_packetout := &PacketOut{Header: parent}
if decoder.Length() < 16 {
return nil, fmt.Errorf("PacketOut packet too short: %d < 16", decoder.Length())
}
_packetout.BufferId = uint32(decoder.ReadUint32())
_packetout.InPort.Decode(decoder)
_packetout.ActionsLen = uint16(decoder.ReadUint16())
decoder.Skip(6)
end := decoder.Offset() + int(_packetout.ActionsLen)
for decoder.Offset() < end {
item, err := DecodeAction(decoder)
if err != nil {
return nil, err
}
if item != nil {
_packetout.Actions = append(_packetout.Actions, item)
}
}
_packetout.Data = decoder.Read(int(decoder.Length()))
return _packetout, nil
}
func NewPacketOut() *PacketOut {
obj := &PacketOut{
Header: NewHeader(13),
}
return obj
}
type PortDescStatsReply struct {
*StatsReply
Entries []*PortDesc
}
type IPortDescStatsReply interface {
IStatsReply
GetEntries() []*PortDesc
}
func (self *PortDescStatsReply) GetEntries() []*PortDesc {
return self.Entries
}
func (self *PortDescStatsReply) SetEntries(v []*PortDesc) {
self.Entries = v
}
func (self *PortDescStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodePortDescStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*PortDescStatsReply, error) {
_portdescstatsreply := &PortDescStatsReply{StatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("PortDescStatsReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 64 {
item := &PortDesc{}
if err := item.Decode(decoder); err != nil {
return nil, err
}
if item != nil {
_portdescstatsreply.Entries = append(_portdescstatsreply.Entries, item)
}
}
return _portdescstatsreply, nil
}
func NewPortDescStatsReply() *PortDescStatsReply {
obj := &PortDescStatsReply{
StatsReply: NewStatsReply(13),
}
return obj
}
type PortDescStatsRequest struct {
*StatsRequest
}
type IPortDescStatsRequest interface {
IStatsRequest
}
func (self *PortDescStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodePortDescStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*PortDescStatsRequest, error) {
_portdescstatsrequest := &PortDescStatsRequest{StatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("PortDescStatsRequest packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
return _portdescstatsrequest, nil
}
func NewPortDescStatsRequest() *PortDescStatsRequest {
obj := &PortDescStatsRequest{
StatsRequest: NewStatsRequest(13),
}
return obj
}
type PortMod struct {
*Header
PortNo Port
HwAddr net.HardwareAddr
Config PortConfig
Mask PortConfig
Advertise uint32
}
type IPortMod interface {
IHeader
GetPortNo() Port
GetHwAddr() net.HardwareAddr
GetConfig() PortConfig
GetMask() PortConfig
GetAdvertise() uint32
}
func (self *PortMod) GetPortNo() Port {
return self.PortNo
}
func (self *PortMod) SetPortNo(v Port) {
self.PortNo = v
}
func (self *PortMod) GetHwAddr() net.HardwareAddr {
return self.HwAddr
}
func (self *PortMod) SetHwAddr(v net.HardwareAddr) {
self.HwAddr = v
}
func (self *PortMod) GetConfig() PortConfig {
return self.Config
}
func (self *PortMod) SetConfig(v PortConfig) {
self.Config = v
}
func (self *PortMod) GetMask() PortConfig {
return self.Mask
}
func (self *PortMod) SetMask(v PortConfig) {
self.Mask = v
}
func (self *PortMod) GetAdvertise() uint32 {
return self.Advertise
}
func (self *PortMod) SetAdvertise(v uint32) {
self.Advertise = v
}
func (self *PortMod) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
self.PortNo.Serialize(encoder)
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.Write(self.HwAddr)
encoder.Write(bytes.Repeat([]byte{0}, 2))
encoder.PutUint32(uint32(self.Config))
encoder.PutUint32(uint32(self.Mask))
encoder.PutUint32(uint32(self.Advertise))
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodePortMod(parent *Header, decoder *goloxi.Decoder) (*PortMod, error) {
_portmod := &PortMod{Header: parent}
if decoder.Length() < 32 {
return nil, fmt.Errorf("PortMod packet too short: %d < 32", decoder.Length())
}
_portmod.PortNo.Decode(decoder)
decoder.Skip(4)
_portmod.HwAddr = net.HardwareAddr(decoder.Read(6))
decoder.Skip(2)
_portmod.Config = PortConfig(decoder.ReadUint32())
_portmod.Mask = PortConfig(decoder.ReadUint32())
_portmod.Advertise = uint32(decoder.ReadUint32())
decoder.Skip(4)
return _portmod, nil
}
func NewPortMod() *PortMod {
obj := &PortMod{
Header: NewHeader(16),
}
return obj
}
type PortModFailedErrorMsg struct {
*ErrorMsg
Code PortModFailedCode
Data []byte
}
type IPortModFailedErrorMsg interface {
IErrorMsg
GetCode() PortModFailedCode
GetData() []byte
}
func (self *PortModFailedErrorMsg) GetCode() PortModFailedCode {
return self.Code
}
func (self *PortModFailedErrorMsg) SetCode(v PortModFailedCode) {
self.Code = v
}
func (self *PortModFailedErrorMsg) GetData() []byte {
return self.Data
}
func (self *PortModFailedErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *PortModFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodePortModFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*PortModFailedErrorMsg, error) {
_portmodfailederrormsg := &PortModFailedErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("PortModFailedErrorMsg packet too short: %d < 2", decoder.Length())
}
_portmodfailederrormsg.Code = PortModFailedCode(decoder.ReadUint16())
_portmodfailederrormsg.Data = decoder.Read(int(decoder.Length()))
return _portmodfailederrormsg, nil
}
func NewPortModFailedErrorMsg() *PortModFailedErrorMsg {
obj := &PortModFailedErrorMsg{
ErrorMsg: NewErrorMsg(7),
}
return obj
}
type PortStatsReply struct {
*StatsReply
Entries []*PortStatsEntry
}
type IPortStatsReply interface {
IStatsReply
GetEntries() []*PortStatsEntry
}
func (self *PortStatsReply) GetEntries() []*PortStatsEntry {
return self.Entries
}
func (self *PortStatsReply) SetEntries(v []*PortStatsEntry) {
self.Entries = v
}
func (self *PortStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodePortStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*PortStatsReply, error) {
_portstatsreply := &PortStatsReply{StatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("PortStatsReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 112 {
item, err := DecodePortStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_portstatsreply.Entries = append(_portstatsreply.Entries, item)
}
}
return _portstatsreply, nil
}
func NewPortStatsReply() *PortStatsReply {
obj := &PortStatsReply{
StatsReply: NewStatsReply(4),
}
return obj
}
type PortStatsRequest struct {
*StatsRequest
PortNo Port
}
type IPortStatsRequest interface {
IStatsRequest
GetPortNo() Port
}
func (self *PortStatsRequest) GetPortNo() Port {
return self.PortNo
}
func (self *PortStatsRequest) SetPortNo(v Port) {
self.PortNo = v
}
func (self *PortStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
self.PortNo.Serialize(encoder)
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodePortStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*PortStatsRequest, error) {
_portstatsrequest := &PortStatsRequest{StatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("PortStatsRequest packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
_portstatsrequest.PortNo.Decode(decoder)
decoder.Skip(4)
return _portstatsrequest, nil
}
func NewPortStatsRequest() *PortStatsRequest {
obj := &PortStatsRequest{
StatsRequest: NewStatsRequest(4),
}
return obj
}
type PortStatus struct {
*Header
Reason PortReason
Desc PortDesc
}
type IPortStatus interface {
IHeader
GetReason() PortReason
GetDesc() PortDesc
}
func (self *PortStatus) GetReason() PortReason {
return self.Reason
}
func (self *PortStatus) SetReason(v PortReason) {
self.Reason = v
}
func (self *PortStatus) GetDesc() PortDesc {
return self.Desc
}
func (self *PortStatus) SetDesc(v PortDesc) {
self.Desc = v
}
func (self *PortStatus) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint8(uint8(self.Reason))
encoder.Write(bytes.Repeat([]byte{0}, 7))
if err := self.Desc.Serialize(encoder); err != nil {
return err
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodePortStatus(parent *Header, decoder *goloxi.Decoder) (*PortStatus, error) {
_portstatus := &PortStatus{Header: parent}
if decoder.Length() < 72 {
return nil, fmt.Errorf("PortStatus packet too short: %d < 72", decoder.Length())
}
_portstatus.Reason = PortReason(decoder.ReadByte())
decoder.Skip(7)
if err := _portstatus.Desc.Decode(decoder); err != nil {
return nil, err
}
return _portstatus, nil
}
func NewPortStatus() *PortStatus {
obj := &PortStatus{
Header: NewHeader(12),
}
return obj
}
type QueueGetConfigReply struct {
*Header
Port Port
Queues []*PacketQueue
}
type IQueueGetConfigReply interface {
IHeader
GetPort() Port
GetQueues() []*PacketQueue
}
func (self *QueueGetConfigReply) GetPort() Port {
return self.Port
}
func (self *QueueGetConfigReply) SetPort(v Port) {
self.Port = v
}
func (self *QueueGetConfigReply) GetQueues() []*PacketQueue {
return self.Queues
}
func (self *QueueGetConfigReply) SetQueues(v []*PacketQueue) {
self.Queues = v
}
func (self *QueueGetConfigReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
self.Port.Serialize(encoder)
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Queues {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeQueueGetConfigReply(parent *Header, decoder *goloxi.Decoder) (*QueueGetConfigReply, error) {
_queuegetconfigreply := &QueueGetConfigReply{Header: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("QueueGetConfigReply packet too short: %d < 8", decoder.Length())
}
_queuegetconfigreply.Port.Decode(decoder)
decoder.Skip(4)
for decoder.Length() >= 16 {
item, err := DecodePacketQueue(decoder)
if err != nil {
return nil, err
}
if item != nil {
_queuegetconfigreply.Queues = append(_queuegetconfigreply.Queues, item)
}
}
return _queuegetconfigreply, nil
}
func NewQueueGetConfigReply() *QueueGetConfigReply {
obj := &QueueGetConfigReply{
Header: NewHeader(23),
}
return obj
}
type QueueGetConfigRequest struct {
*Header
Port Port
}
type IQueueGetConfigRequest interface {
IHeader
GetPort() Port
}
func (self *QueueGetConfigRequest) GetPort() Port {
return self.Port
}
func (self *QueueGetConfigRequest) SetPort(v Port) {
self.Port = v
}
func (self *QueueGetConfigRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
self.Port.Serialize(encoder)
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeQueueGetConfigRequest(parent *Header, decoder *goloxi.Decoder) (*QueueGetConfigRequest, error) {
_queuegetconfigrequest := &QueueGetConfigRequest{Header: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("QueueGetConfigRequest packet too short: %d < 8", decoder.Length())
}
_queuegetconfigrequest.Port.Decode(decoder)
decoder.Skip(4)
return _queuegetconfigrequest, nil
}
func NewQueueGetConfigRequest() *QueueGetConfigRequest {
obj := &QueueGetConfigRequest{
Header: NewHeader(22),
}
return obj
}
type QueueOpFailedErrorMsg struct {
*ErrorMsg
Code QueueOpFailedCode
Data []byte
}
type IQueueOpFailedErrorMsg interface {
IErrorMsg
GetCode() QueueOpFailedCode
GetData() []byte
}
func (self *QueueOpFailedErrorMsg) GetCode() QueueOpFailedCode {
return self.Code
}
func (self *QueueOpFailedErrorMsg) SetCode(v QueueOpFailedCode) {
self.Code = v
}
func (self *QueueOpFailedErrorMsg) GetData() []byte {
return self.Data
}
func (self *QueueOpFailedErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *QueueOpFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeQueueOpFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*QueueOpFailedErrorMsg, error) {
_queueopfailederrormsg := &QueueOpFailedErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("QueueOpFailedErrorMsg packet too short: %d < 2", decoder.Length())
}
_queueopfailederrormsg.Code = QueueOpFailedCode(decoder.ReadUint16())
_queueopfailederrormsg.Data = decoder.Read(int(decoder.Length()))
return _queueopfailederrormsg, nil
}
func NewQueueOpFailedErrorMsg() *QueueOpFailedErrorMsg {
obj := &QueueOpFailedErrorMsg{
ErrorMsg: NewErrorMsg(9),
}
return obj
}
type QueueStatsReply struct {
*StatsReply
Entries []*QueueStatsEntry
}
type IQueueStatsReply interface {
IStatsReply
GetEntries() []*QueueStatsEntry
}
func (self *QueueStatsReply) GetEntries() []*QueueStatsEntry {
return self.Entries
}
func (self *QueueStatsReply) SetEntries(v []*QueueStatsEntry) {
self.Entries = v
}
func (self *QueueStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeQueueStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*QueueStatsReply, error) {
_queuestatsreply := &QueueStatsReply{StatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("QueueStatsReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 40 {
item, err := DecodeQueueStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_queuestatsreply.Entries = append(_queuestatsreply.Entries, item)
}
}
return _queuestatsreply, nil
}
func NewQueueStatsReply() *QueueStatsReply {
obj := &QueueStatsReply{
StatsReply: NewStatsReply(5),
}
return obj
}
type QueueStatsRequest struct {
*StatsRequest
PortNo Port
QueueId uint32
}
type IQueueStatsRequest interface {
IStatsRequest
GetPortNo() Port
GetQueueId() uint32
}
func (self *QueueStatsRequest) GetPortNo() Port {
return self.PortNo
}
func (self *QueueStatsRequest) SetPortNo(v Port) {
self.PortNo = v
}
func (self *QueueStatsRequest) GetQueueId() uint32 {
return self.QueueId
}
func (self *QueueStatsRequest) SetQueueId(v uint32) {
self.QueueId = v
}
func (self *QueueStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
self.PortNo.Serialize(encoder)
encoder.PutUint32(uint32(self.QueueId))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeQueueStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*QueueStatsRequest, error) {
_queuestatsrequest := &QueueStatsRequest{StatsRequest: parent}
if decoder.Length() < 12 {
return nil, fmt.Errorf("QueueStatsRequest packet too short: %d < 12", decoder.Length())
}
decoder.Skip(4)
_queuestatsrequest.PortNo.Decode(decoder)
_queuestatsrequest.QueueId = uint32(decoder.ReadUint32())
return _queuestatsrequest, nil
}
func NewQueueStatsRequest() *QueueStatsRequest {
obj := &QueueStatsRequest{
StatsRequest: NewStatsRequest(5),
}
return obj
}
type RoleReply struct {
*Header
Role ControllerRole
GenerationId uint64
}
type IRoleReply interface {
IHeader
GetRole() ControllerRole
GetGenerationId() uint64
}
func (self *RoleReply) GetRole() ControllerRole {
return self.Role
}
func (self *RoleReply) SetRole(v ControllerRole) {
self.Role = v
}
func (self *RoleReply) GetGenerationId() uint64 {
return self.GenerationId
}
func (self *RoleReply) SetGenerationId(v uint64) {
self.GenerationId = v
}
func (self *RoleReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Role))
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint64(uint64(self.GenerationId))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeRoleReply(parent *Header, decoder *goloxi.Decoder) (*RoleReply, error) {
_rolereply := &RoleReply{Header: parent}
if decoder.Length() < 16 {
return nil, fmt.Errorf("RoleReply packet too short: %d < 16", decoder.Length())
}
_rolereply.Role = ControllerRole(decoder.ReadUint32())
decoder.Skip(4)
_rolereply.GenerationId = uint64(decoder.ReadUint64())
return _rolereply, nil
}
func NewRoleReply() *RoleReply {
obj := &RoleReply{
Header: NewHeader(25),
}
return obj
}
type RoleRequest struct {
*Header
Role ControllerRole
GenerationId uint64
}
type IRoleRequest interface {
IHeader
GetRole() ControllerRole
GetGenerationId() uint64
}
func (self *RoleRequest) GetRole() ControllerRole {
return self.Role
}
func (self *RoleRequest) SetRole(v ControllerRole) {
self.Role = v
}
func (self *RoleRequest) GetGenerationId() uint64 {
return self.GenerationId
}
func (self *RoleRequest) SetGenerationId(v uint64) {
self.GenerationId = v
}
func (self *RoleRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint32(uint32(self.Role))
encoder.Write(bytes.Repeat([]byte{0}, 4))
encoder.PutUint64(uint64(self.GenerationId))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeRoleRequest(parent *Header, decoder *goloxi.Decoder) (*RoleRequest, error) {
_rolerequest := &RoleRequest{Header: parent}
if decoder.Length() < 16 {
return nil, fmt.Errorf("RoleRequest packet too short: %d < 16", decoder.Length())
}
_rolerequest.Role = ControllerRole(decoder.ReadUint32())
decoder.Skip(4)
_rolerequest.GenerationId = uint64(decoder.ReadUint64())
return _rolerequest, nil
}
func NewRoleRequest() *RoleRequest {
obj := &RoleRequest{
Header: NewHeader(24),
}
return obj
}
type RoleRequestFailedErrorMsg struct {
*ErrorMsg
Code RoleRequestFailedCode
Data []byte
}
type IRoleRequestFailedErrorMsg interface {
IErrorMsg
GetCode() RoleRequestFailedCode
GetData() []byte
}
func (self *RoleRequestFailedErrorMsg) GetCode() RoleRequestFailedCode {
return self.Code
}
func (self *RoleRequestFailedErrorMsg) SetCode(v RoleRequestFailedCode) {
self.Code = v
}
func (self *RoleRequestFailedErrorMsg) GetData() []byte {
return self.Data
}
func (self *RoleRequestFailedErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *RoleRequestFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeRoleRequestFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*RoleRequestFailedErrorMsg, error) {
_rolerequestfailederrormsg := &RoleRequestFailedErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("RoleRequestFailedErrorMsg packet too short: %d < 2", decoder.Length())
}
_rolerequestfailederrormsg.Code = RoleRequestFailedCode(decoder.ReadUint16())
_rolerequestfailederrormsg.Data = decoder.Read(int(decoder.Length()))
return _rolerequestfailederrormsg, nil
}
func NewRoleRequestFailedErrorMsg() *RoleRequestFailedErrorMsg {
obj := &RoleRequestFailedErrorMsg{
ErrorMsg: NewErrorMsg(11),
}
return obj
}
type SetConfig struct {
*Header
Flags ConfigFlags
MissSendLen uint16
}
type ISetConfig interface {
IHeader
GetFlags() ConfigFlags
GetMissSendLen() uint16
}
func (self *SetConfig) GetFlags() ConfigFlags {
return self.Flags
}
func (self *SetConfig) SetFlags(v ConfigFlags) {
self.Flags = v
}
func (self *SetConfig) GetMissSendLen() uint16 {
return self.MissSendLen
}
func (self *SetConfig) SetMissSendLen(v uint16) {
self.MissSendLen = v
}
func (self *SetConfig) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Flags))
encoder.PutUint16(uint16(self.MissSendLen))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeSetConfig(parent *Header, decoder *goloxi.Decoder) (*SetConfig, error) {
_setconfig := &SetConfig{Header: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("SetConfig packet too short: %d < 4", decoder.Length())
}
_setconfig.Flags = ConfigFlags(decoder.ReadUint16())
_setconfig.MissSendLen = uint16(decoder.ReadUint16())
return _setconfig, nil
}
func NewSetConfig() *SetConfig {
obj := &SetConfig{
Header: NewHeader(9),
}
return obj
}
type SwitchConfigFailedErrorMsg struct {
*ErrorMsg
Code SwitchConfigFailedCode
Data []byte
}
type ISwitchConfigFailedErrorMsg interface {
IErrorMsg
GetCode() SwitchConfigFailedCode
GetData() []byte
}
func (self *SwitchConfigFailedErrorMsg) GetCode() SwitchConfigFailedCode {
return self.Code
}
func (self *SwitchConfigFailedErrorMsg) SetCode(v SwitchConfigFailedCode) {
self.Code = v
}
func (self *SwitchConfigFailedErrorMsg) GetData() []byte {
return self.Data
}
func (self *SwitchConfigFailedErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *SwitchConfigFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeSwitchConfigFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*SwitchConfigFailedErrorMsg, error) {
_switchconfigfailederrormsg := &SwitchConfigFailedErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("SwitchConfigFailedErrorMsg packet too short: %d < 2", decoder.Length())
}
_switchconfigfailederrormsg.Code = SwitchConfigFailedCode(decoder.ReadUint16())
_switchconfigfailederrormsg.Data = decoder.Read(int(decoder.Length()))
return _switchconfigfailederrormsg, nil
}
func NewSwitchConfigFailedErrorMsg() *SwitchConfigFailedErrorMsg {
obj := &SwitchConfigFailedErrorMsg{
ErrorMsg: NewErrorMsg(10),
}
return obj
}
type TableFeaturesFailedErrorMsg struct {
*ErrorMsg
Code TableFeaturesFailedCode
Data []byte
}
type ITableFeaturesFailedErrorMsg interface {
IErrorMsg
GetCode() TableFeaturesFailedCode
GetData() []byte
}
func (self *TableFeaturesFailedErrorMsg) GetCode() TableFeaturesFailedCode {
return self.Code
}
func (self *TableFeaturesFailedErrorMsg) SetCode(v TableFeaturesFailedCode) {
self.Code = v
}
func (self *TableFeaturesFailedErrorMsg) GetData() []byte {
return self.Data
}
func (self *TableFeaturesFailedErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *TableFeaturesFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeTableFeaturesFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*TableFeaturesFailedErrorMsg, error) {
_tablefeaturesfailederrormsg := &TableFeaturesFailedErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("TableFeaturesFailedErrorMsg packet too short: %d < 2", decoder.Length())
}
_tablefeaturesfailederrormsg.Code = TableFeaturesFailedCode(decoder.ReadUint16())
_tablefeaturesfailederrormsg.Data = decoder.Read(int(decoder.Length()))
return _tablefeaturesfailederrormsg, nil
}
func NewTableFeaturesFailedErrorMsg() *TableFeaturesFailedErrorMsg {
obj := &TableFeaturesFailedErrorMsg{
ErrorMsg: NewErrorMsg(13),
}
return obj
}
type TableFeaturesStatsReply struct {
*StatsReply
Entries []*TableFeatures
}
type ITableFeaturesStatsReply interface {
IStatsReply
GetEntries() []*TableFeatures
}
func (self *TableFeaturesStatsReply) GetEntries() []*TableFeatures {
return self.Entries
}
func (self *TableFeaturesStatsReply) SetEntries(v []*TableFeatures) {
self.Entries = v
}
func (self *TableFeaturesStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeTableFeaturesStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*TableFeaturesStatsReply, error) {
_tablefeaturesstatsreply := &TableFeaturesStatsReply{StatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("TableFeaturesStatsReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 64 {
item, err := DecodeTableFeatures(decoder)
if err != nil {
return nil, err
}
if item != nil {
_tablefeaturesstatsreply.Entries = append(_tablefeaturesstatsreply.Entries, item)
}
}
return _tablefeaturesstatsreply, nil
}
func NewTableFeaturesStatsReply() *TableFeaturesStatsReply {
obj := &TableFeaturesStatsReply{
StatsReply: NewStatsReply(12),
}
return obj
}
type TableFeaturesStatsRequest struct {
*StatsRequest
Entries []*TableFeatures
}
type ITableFeaturesStatsRequest interface {
IStatsRequest
GetEntries() []*TableFeatures
}
func (self *TableFeaturesStatsRequest) GetEntries() []*TableFeatures {
return self.Entries
}
func (self *TableFeaturesStatsRequest) SetEntries(v []*TableFeatures) {
self.Entries = v
}
func (self *TableFeaturesStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeTableFeaturesStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*TableFeaturesStatsRequest, error) {
_tablefeaturesstatsrequest := &TableFeaturesStatsRequest{StatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("TableFeaturesStatsRequest packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 64 {
item, err := DecodeTableFeatures(decoder)
if err != nil {
return nil, err
}
if item != nil {
_tablefeaturesstatsrequest.Entries = append(_tablefeaturesstatsrequest.Entries, item)
}
}
return _tablefeaturesstatsrequest, nil
}
func NewTableFeaturesStatsRequest() *TableFeaturesStatsRequest {
obj := &TableFeaturesStatsRequest{
StatsRequest: NewStatsRequest(12),
}
return obj
}
type TableMod struct {
*Header
TableId uint8
Config uint32
}
type ITableMod interface {
IHeader
GetTableId() uint8
GetConfig() uint32
}
func (self *TableMod) GetTableId() uint8 {
return self.TableId
}
func (self *TableMod) SetTableId(v uint8) {
self.TableId = v
}
func (self *TableMod) GetConfig() uint32 {
return self.Config
}
func (self *TableMod) SetConfig(v uint32) {
self.Config = v
}
func (self *TableMod) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.Header.Serialize(encoder); err != nil {
return err
}
encoder.PutUint8(uint8(self.TableId))
encoder.Write(bytes.Repeat([]byte{0}, 3))
encoder.PutUint32(uint32(self.Config))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeTableMod(parent *Header, decoder *goloxi.Decoder) (*TableMod, error) {
_tablemod := &TableMod{Header: parent}
if decoder.Length() < 8 {
return nil, fmt.Errorf("TableMod packet too short: %d < 8", decoder.Length())
}
_tablemod.TableId = uint8(decoder.ReadByte())
decoder.Skip(3)
_tablemod.Config = uint32(decoder.ReadUint32())
return _tablemod, nil
}
func NewTableMod() *TableMod {
obj := &TableMod{
Header: NewHeader(17),
}
return obj
}
type TableModFailedErrorMsg struct {
*ErrorMsg
Code TableModFailedCode
Data []byte
}
type ITableModFailedErrorMsg interface {
IErrorMsg
GetCode() TableModFailedCode
GetData() []byte
}
func (self *TableModFailedErrorMsg) GetCode() TableModFailedCode {
return self.Code
}
func (self *TableModFailedErrorMsg) SetCode(v TableModFailedCode) {
self.Code = v
}
func (self *TableModFailedErrorMsg) GetData() []byte {
return self.Data
}
func (self *TableModFailedErrorMsg) SetData(v []byte) {
self.Data = v
}
func (self *TableModFailedErrorMsg) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.ErrorMsg.Serialize(encoder); err != nil {
return err
}
encoder.PutUint16(uint16(self.Code))
encoder.Write(self.Data)
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeTableModFailedErrorMsg(parent *ErrorMsg, decoder *goloxi.Decoder) (*TableModFailedErrorMsg, error) {
_tablemodfailederrormsg := &TableModFailedErrorMsg{ErrorMsg: parent}
if decoder.Length() < 2 {
return nil, fmt.Errorf("TableModFailedErrorMsg packet too short: %d < 2", decoder.Length())
}
_tablemodfailederrormsg.Code = TableModFailedCode(decoder.ReadUint16())
_tablemodfailederrormsg.Data = decoder.Read(int(decoder.Length()))
return _tablemodfailederrormsg, nil
}
func NewTableModFailedErrorMsg() *TableModFailedErrorMsg {
obj := &TableModFailedErrorMsg{
ErrorMsg: NewErrorMsg(8),
}
return obj
}
type TableStatsReply struct {
*StatsReply
Entries []*TableStatsEntry
}
type ITableStatsReply interface {
IStatsReply
GetEntries() []*TableStatsEntry
}
func (self *TableStatsReply) GetEntries() []*TableStatsEntry {
return self.Entries
}
func (self *TableStatsReply) SetEntries(v []*TableStatsEntry) {
self.Entries = v
}
func (self *TableStatsReply) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsReply.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
for _, obj := range self.Entries {
if err := obj.Serialize(encoder); err != nil {
return err
}
}
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeTableStatsReply(parent *StatsReply, decoder *goloxi.Decoder) (*TableStatsReply, error) {
_tablestatsreply := &TableStatsReply{StatsReply: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("TableStatsReply packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
for decoder.Length() >= 24 {
item, err := DecodeTableStatsEntry(decoder)
if err != nil {
return nil, err
}
if item != nil {
_tablestatsreply.Entries = append(_tablestatsreply.Entries, item)
}
}
return _tablestatsreply, nil
}
func NewTableStatsReply() *TableStatsReply {
obj := &TableStatsReply{
StatsReply: NewStatsReply(3),
}
return obj
}
type TableStatsRequest struct {
*StatsRequest
}
type ITableStatsRequest interface {
IStatsRequest
}
func (self *TableStatsRequest) Serialize(encoder *goloxi.Encoder) error {
startIndex := len(encoder.Bytes())
if err := self.StatsRequest.Serialize(encoder); err != nil {
return err
}
encoder.Write(bytes.Repeat([]byte{0}, 4))
length := len(encoder.Bytes()) - startIndex
binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length))
return nil
}
func DecodeTableStatsRequest(parent *StatsRequest, decoder *goloxi.Decoder) (*TableStatsRequest, error) {
_tablestatsrequest := &TableStatsRequest{StatsRequest: parent}
if decoder.Length() < 4 {
return nil, fmt.Errorf("TableStatsRequest packet too short: %d < 4", decoder.Length())
}
decoder.Skip(4)
return _tablestatsrequest, nil
}
func NewTableStatsRequest() *TableStatsRequest {
obj := &TableStatsRequest{
StatsRequest: NewStatsRequest(3),
}
return obj
}