| /* |
| * 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 of11 |
| |
| import ( |
| "bytes" |
| "encoding/binary" |
| "encoding/json" |
| "fmt" |
| "net" |
| |
| "github.com/opencord/goloxi" |
| ) |
| |
| type Action struct { |
| Type uint16 |
| Len uint16 |
| } |
| |
| type IAction interface { |
| goloxi.Serializable |
| GetType() uint16 |
| GetLen() uint16 |
| GetActionName() string |
| GetActionFields() map[string]interface{} |
| } |
| |
| func (self *Action) GetType() uint16 { |
| return self.Type |
| } |
| |
| func (self *Action) SetType(v uint16) { |
| self.Type = v |
| } |
| |
| func (self *Action) GetLen() uint16 { |
| return self.Len |
| } |
| |
| func (self *Action) SetLen(v uint16) { |
| self.Len = v |
| } |
| |
| func (self *Action) Serialize(encoder *goloxi.Encoder) error { |
| |
| encoder.PutUint16(uint16(self.Type)) |
| encoder.PutUint16(uint16(self.Len)) |
| |
| return nil |
| } |
| |
| func DecodeAction(decoder *goloxi.Decoder) (goloxi.IAction, error) { |
| _action := &Action{} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("Action packet too short: %d < 4", decoder.Length()) |
| } |
| _action.Type = uint16(decoder.ReadUint16()) |
| _action.Len = uint16(decoder.ReadUint16()) |
| oldDecoder := decoder |
| defer func() { decoder = oldDecoder }() |
| decoder = decoder.SliceDecoder(int(_action.Len), 2+2) |
| |
| switch _action.Type { |
| case 0: |
| return DecodeActionOutput(_action, decoder) |
| case 1: |
| return DecodeActionSetVlanVid(_action, decoder) |
| case 2: |
| return DecodeActionSetVlanPcp(_action, decoder) |
| case 3: |
| return DecodeActionSetDlSrc(_action, decoder) |
| case 4: |
| return DecodeActionSetDlDst(_action, decoder) |
| case 5: |
| return DecodeActionSetNwSrc(_action, decoder) |
| case 6: |
| return DecodeActionSetNwDst(_action, decoder) |
| case 7: |
| return DecodeActionSetNwTos(_action, decoder) |
| case 8: |
| return DecodeActionSetNwEcn(_action, decoder) |
| case 9: |
| return DecodeActionSetTpSrc(_action, decoder) |
| case 10: |
| return DecodeActionSetTpDst(_action, decoder) |
| case 11: |
| return DecodeActionCopyTtlOut(_action, decoder) |
| case 12: |
| return DecodeActionCopyTtlIn(_action, decoder) |
| case 13: |
| return DecodeActionSetMplsLabel(_action, decoder) |
| case 14: |
| return DecodeActionSetMplsTc(_action, decoder) |
| case 15: |
| return DecodeActionSetMplsTtl(_action, decoder) |
| case 16: |
| return DecodeActionDecMplsTtl(_action, decoder) |
| case 17: |
| return DecodeActionPushVlan(_action, decoder) |
| case 18: |
| return DecodeActionPopVlan(_action, decoder) |
| case 19: |
| return DecodeActionPushMpls(_action, decoder) |
| case 20: |
| return DecodeActionPopMpls(_action, decoder) |
| case 21: |
| return DecodeActionSetQueue(_action, decoder) |
| case 22: |
| return DecodeActionGroup(_action, decoder) |
| case 23: |
| return DecodeActionSetNwTtl(_action, decoder) |
| case 24: |
| return DecodeActionDecNwTtl(_action, decoder) |
| case 65535: |
| return DecodeActionExperimenter(_action, decoder) |
| default: |
| return nil, fmt.Errorf("Invalid type '%d' for 'Action'", _action.Type) |
| } |
| } |
| |
| func NewAction(_type uint16) *Action { |
| obj := &Action{} |
| obj.Type = _type |
| return obj |
| } |
| |
| type ActionExperimenter struct { |
| *Action |
| Experimenter uint32 |
| } |
| |
| type IActionExperimenter interface { |
| goloxi.IAction |
| GetExperimenter() uint32 |
| } |
| |
| func (self *ActionExperimenter) GetExperimenter() uint32 { |
| return self.Experimenter |
| } |
| |
| func (self *ActionExperimenter) SetExperimenter(v uint32) { |
| self.Experimenter = v |
| } |
| |
| func (self *ActionExperimenter) Serialize(encoder *goloxi.Encoder) error { |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.Experimenter)) |
| |
| return nil |
| } |
| |
| func DecodeActionExperimenter(parent *Action, decoder *goloxi.Decoder) (IActionExperimenter, error) { |
| _actionexperimenter := &ActionExperimenter{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionExperimenter packet too short: %d < 4", decoder.Length()) |
| } |
| _actionexperimenter.Experimenter = uint32(decoder.ReadUint32()) |
| |
| switch _actionexperimenter.Experimenter { |
| case 8992: |
| return DecodeActionNicira(_actionexperimenter, decoder) |
| case 6035143: |
| return DecodeActionBsn(_actionexperimenter, decoder) |
| default: |
| return nil, fmt.Errorf("Invalid type '%d' for 'ActionExperimenter'", _actionexperimenter.Experimenter) |
| } |
| } |
| |
| func NewActionExperimenter(_experimenter uint32) *ActionExperimenter { |
| obj := &ActionExperimenter{ |
| Action: NewAction(65535), |
| } |
| obj.Experimenter = _experimenter |
| return obj |
| } |
| func (self *ActionExperimenter) GetActionName() string { |
| return "experimenter" |
| } |
| |
| func (self *ActionExperimenter) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Experimenter": self.Experimenter, |
| } |
| } |
| |
| func (self *ActionExperimenter) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionBsn struct { |
| *ActionExperimenter |
| Subtype uint32 |
| } |
| |
| type IActionBsn interface { |
| IActionExperimenter |
| GetSubtype() uint32 |
| } |
| |
| func (self *ActionBsn) GetSubtype() uint32 { |
| return self.Subtype |
| } |
| |
| func (self *ActionBsn) SetSubtype(v uint32) { |
| self.Subtype = v |
| } |
| |
| func (self *ActionBsn) Serialize(encoder *goloxi.Encoder) error { |
| if err := self.ActionExperimenter.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.Subtype)) |
| |
| return nil |
| } |
| |
| func DecodeActionBsn(parent *ActionExperimenter, decoder *goloxi.Decoder) (IActionBsn, error) { |
| _actionbsn := &ActionBsn{ActionExperimenter: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionBsn packet too short: %d < 4", decoder.Length()) |
| } |
| _actionbsn.Subtype = uint32(decoder.ReadUint32()) |
| |
| switch _actionbsn.Subtype { |
| case 1: |
| return DecodeActionBsnMirror(_actionbsn, decoder) |
| case 2: |
| return DecodeActionBsnSetTunnelDst(_actionbsn, decoder) |
| case 4: |
| return DecodeActionBsnChecksum(_actionbsn, decoder) |
| default: |
| return nil, fmt.Errorf("Invalid type '%d' for 'ActionBsn'", _actionbsn.Subtype) |
| } |
| } |
| |
| func NewActionBsn(_subtype uint32) *ActionBsn { |
| obj := &ActionBsn{ |
| ActionExperimenter: NewActionExperimenter(6035143), |
| } |
| obj.Subtype = _subtype |
| return obj |
| } |
| func (self *ActionBsn) GetActionName() string { |
| return "bsn" |
| } |
| |
| func (self *ActionBsn) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Subtype": self.Subtype, |
| } |
| } |
| |
| func (self *ActionBsn) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionBsnChecksum struct { |
| *ActionBsn |
| Checksum Checksum128 |
| } |
| |
| type IActionBsnChecksum interface { |
| IActionBsn |
| GetChecksum() Checksum128 |
| } |
| |
| func (self *ActionBsnChecksum) GetChecksum() Checksum128 { |
| return self.Checksum |
| } |
| |
| func (self *ActionBsnChecksum) SetChecksum(v Checksum128) { |
| self.Checksum = v |
| } |
| |
| func (self *ActionBsnChecksum) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionBsn.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| self.Checksum.Serialize(encoder) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionBsnChecksum(parent *ActionBsn, decoder *goloxi.Decoder) (*ActionBsnChecksum, error) { |
| _actionbsnchecksum := &ActionBsnChecksum{ActionBsn: parent} |
| if decoder.Length() < 16 { |
| return nil, fmt.Errorf("ActionBsnChecksum packet too short: %d < 16", decoder.Length()) |
| } |
| _actionbsnchecksum.Checksum.Decode(decoder) |
| return _actionbsnchecksum, nil |
| } |
| |
| func NewActionBsnChecksum() *ActionBsnChecksum { |
| obj := &ActionBsnChecksum{ |
| ActionBsn: NewActionBsn(4), |
| } |
| return obj |
| } |
| func (self *ActionBsnChecksum) GetActionName() string { |
| return "bsn_checksum" |
| } |
| |
| func (self *ActionBsnChecksum) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Checksum": self.Checksum, |
| } |
| } |
| |
| func (self *ActionBsnChecksum) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionBsnMirror struct { |
| *ActionBsn |
| DestPort uint32 |
| VlanTag uint32 |
| CopyStage uint8 |
| } |
| |
| type IActionBsnMirror interface { |
| IActionBsn |
| GetDestPort() uint32 |
| GetVlanTag() uint32 |
| GetCopyStage() uint8 |
| } |
| |
| func (self *ActionBsnMirror) GetDestPort() uint32 { |
| return self.DestPort |
| } |
| |
| func (self *ActionBsnMirror) SetDestPort(v uint32) { |
| self.DestPort = v |
| } |
| |
| func (self *ActionBsnMirror) GetVlanTag() uint32 { |
| return self.VlanTag |
| } |
| |
| func (self *ActionBsnMirror) SetVlanTag(v uint32) { |
| self.VlanTag = v |
| } |
| |
| func (self *ActionBsnMirror) GetCopyStage() uint8 { |
| return self.CopyStage |
| } |
| |
| func (self *ActionBsnMirror) SetCopyStage(v uint8) { |
| self.CopyStage = v |
| } |
| |
| func (self *ActionBsnMirror) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionBsn.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.DestPort)) |
| encoder.PutUint32(uint32(self.VlanTag)) |
| encoder.PutUint8(uint8(self.CopyStage)) |
| 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 DecodeActionBsnMirror(parent *ActionBsn, decoder *goloxi.Decoder) (*ActionBsnMirror, error) { |
| _actionbsnmirror := &ActionBsnMirror{ActionBsn: parent} |
| if decoder.Length() < 12 { |
| return nil, fmt.Errorf("ActionBsnMirror packet too short: %d < 12", decoder.Length()) |
| } |
| _actionbsnmirror.DestPort = uint32(decoder.ReadUint32()) |
| _actionbsnmirror.VlanTag = uint32(decoder.ReadUint32()) |
| _actionbsnmirror.CopyStage = uint8(decoder.ReadByte()) |
| decoder.Skip(3) |
| return _actionbsnmirror, nil |
| } |
| |
| func NewActionBsnMirror() *ActionBsnMirror { |
| obj := &ActionBsnMirror{ |
| ActionBsn: NewActionBsn(1), |
| } |
| return obj |
| } |
| func (self *ActionBsnMirror) GetActionName() string { |
| return "bsn_mirror" |
| } |
| |
| func (self *ActionBsnMirror) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "DestPort": self.DestPort, |
| "VlanTag": self.VlanTag, |
| "CopyStage": self.CopyStage, |
| } |
| } |
| |
| func (self *ActionBsnMirror) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionBsnSetTunnelDst struct { |
| *ActionBsn |
| Dst uint32 |
| } |
| |
| type IActionBsnSetTunnelDst interface { |
| IActionBsn |
| GetDst() uint32 |
| } |
| |
| func (self *ActionBsnSetTunnelDst) GetDst() uint32 { |
| return self.Dst |
| } |
| |
| func (self *ActionBsnSetTunnelDst) SetDst(v uint32) { |
| self.Dst = v |
| } |
| |
| func (self *ActionBsnSetTunnelDst) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionBsn.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.Dst)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionBsnSetTunnelDst(parent *ActionBsn, decoder *goloxi.Decoder) (*ActionBsnSetTunnelDst, error) { |
| _actionbsnsettunneldst := &ActionBsnSetTunnelDst{ActionBsn: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionBsnSetTunnelDst packet too short: %d < 4", decoder.Length()) |
| } |
| _actionbsnsettunneldst.Dst = uint32(decoder.ReadUint32()) |
| return _actionbsnsettunneldst, nil |
| } |
| |
| func NewActionBsnSetTunnelDst() *ActionBsnSetTunnelDst { |
| obj := &ActionBsnSetTunnelDst{ |
| ActionBsn: NewActionBsn(2), |
| } |
| return obj |
| } |
| func (self *ActionBsnSetTunnelDst) GetActionName() string { |
| return "bsn_set_tunnel_dst" |
| } |
| |
| func (self *ActionBsnSetTunnelDst) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Dst": self.Dst, |
| } |
| } |
| |
| func (self *ActionBsnSetTunnelDst) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionCopyTtlIn struct { |
| *Action |
| } |
| |
| type IActionCopyTtlIn interface { |
| goloxi.IAction |
| } |
| |
| func (self *ActionCopyTtlIn) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.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 DecodeActionCopyTtlIn(parent *Action, decoder *goloxi.Decoder) (*ActionCopyTtlIn, error) { |
| _actioncopyttlin := &ActionCopyTtlIn{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionCopyTtlIn packet too short: %d < 4", decoder.Length()) |
| } |
| decoder.Skip(4) |
| return _actioncopyttlin, nil |
| } |
| |
| func NewActionCopyTtlIn() *ActionCopyTtlIn { |
| obj := &ActionCopyTtlIn{ |
| Action: NewAction(12), |
| } |
| return obj |
| } |
| func (self *ActionCopyTtlIn) GetActionName() string { |
| return "copy_ttl_in" |
| } |
| |
| func (self *ActionCopyTtlIn) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionCopyTtlIn) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionCopyTtlOut struct { |
| *Action |
| } |
| |
| type IActionCopyTtlOut interface { |
| goloxi.IAction |
| } |
| |
| func (self *ActionCopyTtlOut) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.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 DecodeActionCopyTtlOut(parent *Action, decoder *goloxi.Decoder) (*ActionCopyTtlOut, error) { |
| _actioncopyttlout := &ActionCopyTtlOut{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionCopyTtlOut packet too short: %d < 4", decoder.Length()) |
| } |
| decoder.Skip(4) |
| return _actioncopyttlout, nil |
| } |
| |
| func NewActionCopyTtlOut() *ActionCopyTtlOut { |
| obj := &ActionCopyTtlOut{ |
| Action: NewAction(11), |
| } |
| return obj |
| } |
| func (self *ActionCopyTtlOut) GetActionName() string { |
| return "copy_ttl_out" |
| } |
| |
| func (self *ActionCopyTtlOut) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionCopyTtlOut) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionDecMplsTtl struct { |
| *Action |
| } |
| |
| type IActionDecMplsTtl interface { |
| goloxi.IAction |
| } |
| |
| func (self *ActionDecMplsTtl) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.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 DecodeActionDecMplsTtl(parent *Action, decoder *goloxi.Decoder) (*ActionDecMplsTtl, error) { |
| _actiondecmplsttl := &ActionDecMplsTtl{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionDecMplsTtl packet too short: %d < 4", decoder.Length()) |
| } |
| decoder.Skip(4) |
| return _actiondecmplsttl, nil |
| } |
| |
| func NewActionDecMplsTtl() *ActionDecMplsTtl { |
| obj := &ActionDecMplsTtl{ |
| Action: NewAction(16), |
| } |
| return obj |
| } |
| func (self *ActionDecMplsTtl) GetActionName() string { |
| return "dec_mpls_ttl" |
| } |
| |
| func (self *ActionDecMplsTtl) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionDecMplsTtl) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionDecNwTtl struct { |
| *Action |
| } |
| |
| type IActionDecNwTtl interface { |
| goloxi.IAction |
| } |
| |
| func (self *ActionDecNwTtl) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.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 DecodeActionDecNwTtl(parent *Action, decoder *goloxi.Decoder) (*ActionDecNwTtl, error) { |
| _actiondecnwttl := &ActionDecNwTtl{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionDecNwTtl packet too short: %d < 4", decoder.Length()) |
| } |
| decoder.Skip(4) |
| return _actiondecnwttl, nil |
| } |
| |
| func NewActionDecNwTtl() *ActionDecNwTtl { |
| obj := &ActionDecNwTtl{ |
| Action: NewAction(24), |
| } |
| return obj |
| } |
| func (self *ActionDecNwTtl) GetActionName() string { |
| return "dec_nw_ttl" |
| } |
| |
| func (self *ActionDecNwTtl) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionDecNwTtl) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionGroup struct { |
| *Action |
| GroupId uint32 |
| } |
| |
| type IActionGroup interface { |
| goloxi.IAction |
| GetGroupId() uint32 |
| } |
| |
| func (self *ActionGroup) GetGroupId() uint32 { |
| return self.GroupId |
| } |
| |
| func (self *ActionGroup) SetGroupId(v uint32) { |
| self.GroupId = v |
| } |
| |
| func (self *ActionGroup) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.GroupId)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionGroup(parent *Action, decoder *goloxi.Decoder) (*ActionGroup, error) { |
| _actiongroup := &ActionGroup{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionGroup packet too short: %d < 4", decoder.Length()) |
| } |
| _actiongroup.GroupId = uint32(decoder.ReadUint32()) |
| return _actiongroup, nil |
| } |
| |
| func NewActionGroup() *ActionGroup { |
| obj := &ActionGroup{ |
| Action: NewAction(22), |
| } |
| return obj |
| } |
| func (self *ActionGroup) GetActionName() string { |
| return "group" |
| } |
| |
| func (self *ActionGroup) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "GroupId": self.GroupId, |
| } |
| } |
| |
| func (self *ActionGroup) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNicira struct { |
| *ActionExperimenter |
| Subtype uint16 |
| } |
| |
| type IActionNicira interface { |
| IActionExperimenter |
| GetSubtype() uint16 |
| } |
| |
| func (self *ActionNicira) GetSubtype() uint16 { |
| return self.Subtype |
| } |
| |
| func (self *ActionNicira) SetSubtype(v uint16) { |
| self.Subtype = v |
| } |
| |
| func (self *ActionNicira) Serialize(encoder *goloxi.Encoder) error { |
| if err := self.ActionExperimenter.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Subtype)) |
| |
| return nil |
| } |
| |
| func DecodeActionNicira(parent *ActionExperimenter, decoder *goloxi.Decoder) (IActionNicira, error) { |
| _actionnicira := &ActionNicira{ActionExperimenter: parent} |
| if decoder.Length() < 2 { |
| return nil, fmt.Errorf("ActionNicira packet too short: %d < 2", decoder.Length()) |
| } |
| _actionnicira.Subtype = uint16(decoder.ReadUint16()) |
| |
| switch _actionnicira.Subtype { |
| case 1: |
| return DecodeActionNxResubmit(_actionnicira, decoder) |
| case 2: |
| return DecodeActionNxSetTunnel(_actionnicira, decoder) |
| case 4: |
| return DecodeActionNxSetQueue(_actionnicira, decoder) |
| case 5: |
| return DecodeActionNxPopQueue(_actionnicira, decoder) |
| case 6: |
| return DecodeActionNxRegMove(_actionnicira, decoder) |
| case 7: |
| return DecodeActionNxRegLoad(_actionnicira, decoder) |
| case 8: |
| return DecodeActionNxNote(_actionnicira, decoder) |
| case 9: |
| return DecodeActionNxSetTunnel64(_actionnicira, decoder) |
| case 10: |
| return DecodeActionNxMultipath(_actionnicira, decoder) |
| case 12: |
| return DecodeActionNxBundle(_actionnicira, decoder) |
| case 13: |
| return DecodeActionNxBundleLoadInPort(_actionnicira, decoder) |
| case 14: |
| return DecodeActionResubmit(_actionnicira, decoder) |
| case 15: |
| return DecodeActionNxOutputReg(_actionnicira, decoder) |
| case 16: |
| return DecodeActionNxLearn(_actionnicira, decoder) |
| case 17: |
| return DecodeActionNxExit(_actionnicira, decoder) |
| case 18: |
| return DecodeActionNiciraDecTtl(_actionnicira, decoder) |
| case 19: |
| return DecodeActionNxFinTimeout(_actionnicira, decoder) |
| case 20: |
| return DecodeActionNxController(_actionnicira, decoder) |
| case 21: |
| return DecodeActionNxDecTtlCntIds(_actionnicira, decoder) |
| case 22: |
| return DecodeActionNxWriteMetadata(_actionnicira, decoder) |
| case 23: |
| return DecodeActionNxPushMpls(_actionnicira, decoder) |
| case 24: |
| return DecodeActionNxPopMpls(_actionnicira, decoder) |
| case 25: |
| return DecodeActionNxSetMplsTtl(_actionnicira, decoder) |
| case 26: |
| return DecodeActionNxDecMplsTtl(_actionnicira, decoder) |
| case 27: |
| return DecodeActionNxStackPush(_actionnicira, decoder) |
| case 28: |
| return DecodeActionNxStackPop(_actionnicira, decoder) |
| case 29: |
| return DecodeActionNxSample(_actionnicira, decoder) |
| case 30: |
| return DecodeActionNxSetMplsLabel(_actionnicira, decoder) |
| case 31: |
| return DecodeActionNxSetMplsTc(_actionnicira, decoder) |
| case 32: |
| return DecodeActionNxOutputReg2(_actionnicira, decoder) |
| case 33: |
| return DecodeActionNxRegLoad2(_actionnicira, decoder) |
| case 34: |
| return DecodeActionNxConjunction(_actionnicira, decoder) |
| case 35: |
| return DecodeActionNxCt(_actionnicira, decoder) |
| case 36: |
| return DecodeActionNxNat(_actionnicira, decoder) |
| case 37: |
| return DecodeActionNxController2(_actionnicira, decoder) |
| case 38: |
| return DecodeActionNxSample2(_actionnicira, decoder) |
| case 39: |
| return DecodeActionNxOutputTrunc(_actionnicira, decoder) |
| case 40: |
| return DecodeActionNxGroup(_actionnicira, decoder) |
| case 41: |
| return DecodeActionNxSample3(_actionnicira, decoder) |
| case 42: |
| return DecodeActionNxClone(_actionnicira, decoder) |
| case 43: |
| return DecodeActionNxCtClear(_actionnicira, decoder) |
| case 44: |
| return DecodeActionNxResubmitTableCt(_actionnicira, decoder) |
| case 45: |
| return DecodeActionNxLearn2(_actionnicira, decoder) |
| case 46: |
| return DecodeActionNxEncap(_actionnicira, decoder) |
| case 47: |
| return DecodeActionNxDecap(_actionnicira, decoder) |
| case 48: |
| return DecodeActionNxDecNshTtl(_actionnicira, decoder) |
| case 254: |
| return DecodeActionNxDebugSlow(_actionnicira, decoder) |
| case 255: |
| return DecodeActionNxDebugRecirc(_actionnicira, decoder) |
| default: |
| return nil, fmt.Errorf("Invalid type '%d' for 'ActionNicira'", _actionnicira.Subtype) |
| } |
| } |
| |
| func NewActionNicira(_subtype uint16) *ActionNicira { |
| obj := &ActionNicira{ |
| ActionExperimenter: NewActionExperimenter(8992), |
| } |
| obj.Subtype = _subtype |
| return obj |
| } |
| func (self *ActionNicira) GetActionName() string { |
| return "nicira" |
| } |
| |
| func (self *ActionNicira) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Subtype": self.Subtype, |
| } |
| } |
| |
| func (self *ActionNicira) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNiciraDecTtl struct { |
| *ActionNicira |
| } |
| |
| type IActionNiciraDecTtl interface { |
| IActionNicira |
| } |
| |
| func (self *ActionNiciraDecTtl) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.Write(bytes.Repeat([]byte{0}, 2)) |
| 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 DecodeActionNiciraDecTtl(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNiciraDecTtl, error) { |
| _actionniciradecttl := &ActionNiciraDecTtl{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNiciraDecTtl packet too short: %d < 6", decoder.Length()) |
| } |
| decoder.Skip(2) |
| decoder.Skip(4) |
| return _actionniciradecttl, nil |
| } |
| |
| func NewActionNiciraDecTtl() *ActionNiciraDecTtl { |
| obj := &ActionNiciraDecTtl{ |
| ActionNicira: NewActionNicira(18), |
| } |
| return obj |
| } |
| func (self *ActionNiciraDecTtl) GetActionName() string { |
| return "nicira_dec_ttl" |
| } |
| |
| func (self *ActionNiciraDecTtl) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionNiciraDecTtl) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxBundle struct { |
| *ActionNicira |
| Algorithm uint16 |
| Fields NxHashFields |
| Basis uint16 |
| SlaveType ActionNxBundleSlaveType |
| NSlaves uint16 |
| OfsNbits uint16 |
| Dst goloxi.IOxmId |
| } |
| |
| type IActionNxBundle interface { |
| IActionNicira |
| GetAlgorithm() uint16 |
| GetFields() NxHashFields |
| GetBasis() uint16 |
| GetSlaveType() ActionNxBundleSlaveType |
| GetNSlaves() uint16 |
| GetOfsNbits() uint16 |
| GetDst() goloxi.IOxmId |
| } |
| |
| func (self *ActionNxBundle) GetAlgorithm() uint16 { |
| return self.Algorithm |
| } |
| |
| func (self *ActionNxBundle) SetAlgorithm(v uint16) { |
| self.Algorithm = v |
| } |
| |
| func (self *ActionNxBundle) GetFields() NxHashFields { |
| return self.Fields |
| } |
| |
| func (self *ActionNxBundle) SetFields(v NxHashFields) { |
| self.Fields = v |
| } |
| |
| func (self *ActionNxBundle) GetBasis() uint16 { |
| return self.Basis |
| } |
| |
| func (self *ActionNxBundle) SetBasis(v uint16) { |
| self.Basis = v |
| } |
| |
| func (self *ActionNxBundle) GetSlaveType() ActionNxBundleSlaveType { |
| return self.SlaveType |
| } |
| |
| func (self *ActionNxBundle) SetSlaveType(v ActionNxBundleSlaveType) { |
| self.SlaveType = v |
| } |
| |
| func (self *ActionNxBundle) GetNSlaves() uint16 { |
| return self.NSlaves |
| } |
| |
| func (self *ActionNxBundle) SetNSlaves(v uint16) { |
| self.NSlaves = v |
| } |
| |
| func (self *ActionNxBundle) GetOfsNbits() uint16 { |
| return self.OfsNbits |
| } |
| |
| func (self *ActionNxBundle) SetOfsNbits(v uint16) { |
| self.OfsNbits = v |
| } |
| |
| func (self *ActionNxBundle) GetDst() goloxi.IOxmId { |
| return self.Dst |
| } |
| |
| func (self *ActionNxBundle) SetDst(v goloxi.IOxmId) { |
| self.Dst = v |
| } |
| |
| func (self *ActionNxBundle) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Algorithm)) |
| encoder.PutUint16(uint16(self.Fields)) |
| encoder.PutUint16(uint16(self.Basis)) |
| encoder.PutUint32(uint32(self.SlaveType)) |
| encoder.PutUint16(uint16(self.NSlaves)) |
| encoder.PutUint16(uint16(self.OfsNbits)) |
| self.Dst.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 DecodeActionNxBundle(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxBundle, error) { |
| _actionnxbundle := &ActionNxBundle{ActionNicira: parent} |
| if decoder.Length() < 22 { |
| return nil, fmt.Errorf("ActionNxBundle packet too short: %d < 22", decoder.Length()) |
| } |
| _actionnxbundle.Algorithm = uint16(decoder.ReadUint16()) |
| _actionnxbundle.Fields = NxHashFields(decoder.ReadUint16()) |
| _actionnxbundle.Basis = uint16(decoder.ReadUint16()) |
| _actionnxbundle.SlaveType = ActionNxBundleSlaveType(decoder.ReadUint32()) |
| _actionnxbundle.NSlaves = uint16(decoder.ReadUint16()) |
| _actionnxbundle.OfsNbits = uint16(decoder.ReadUint16()) |
| if obj, err := DecodeOxmId(decoder); err != nil { |
| return nil, err |
| } else { |
| _actionnxbundle.Dst = obj |
| } |
| |
| decoder.Skip(4) |
| return _actionnxbundle, nil |
| } |
| |
| func NewActionNxBundle() *ActionNxBundle { |
| obj := &ActionNxBundle{ |
| ActionNicira: NewActionNicira(12), |
| } |
| return obj |
| } |
| func (self *ActionNxBundle) GetActionName() string { |
| return "nx_bundle" |
| } |
| |
| func (self *ActionNxBundle) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Algorithm": self.Algorithm, |
| "Fields": self.Fields, |
| "Basis": self.Basis, |
| "SlaveType": self.SlaveType, |
| "NSlaves": self.NSlaves, |
| "OfsNbits": self.OfsNbits, |
| "Dst": self.Dst, |
| } |
| } |
| |
| func (self *ActionNxBundle) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxBundleLoad struct { |
| *ActionNicira |
| Algorithm NxBdAlgorithms |
| Fields NxHashFields |
| Basis uint16 |
| SlaveType ActionNxBundleSlaveType |
| NSlaves uint16 |
| OfsNbits uint16 |
| Dst goloxi.IOxmId |
| } |
| |
| type IActionNxBundleLoad interface { |
| IActionNicira |
| GetAlgorithm() NxBdAlgorithms |
| GetFields() NxHashFields |
| GetBasis() uint16 |
| GetSlaveType() ActionNxBundleSlaveType |
| GetNSlaves() uint16 |
| GetOfsNbits() uint16 |
| GetDst() goloxi.IOxmId |
| } |
| |
| func (self *ActionNxBundleLoad) GetAlgorithm() NxBdAlgorithms { |
| return self.Algorithm |
| } |
| |
| func (self *ActionNxBundleLoad) SetAlgorithm(v NxBdAlgorithms) { |
| self.Algorithm = v |
| } |
| |
| func (self *ActionNxBundleLoad) GetFields() NxHashFields { |
| return self.Fields |
| } |
| |
| func (self *ActionNxBundleLoad) SetFields(v NxHashFields) { |
| self.Fields = v |
| } |
| |
| func (self *ActionNxBundleLoad) GetBasis() uint16 { |
| return self.Basis |
| } |
| |
| func (self *ActionNxBundleLoad) SetBasis(v uint16) { |
| self.Basis = v |
| } |
| |
| func (self *ActionNxBundleLoad) GetSlaveType() ActionNxBundleSlaveType { |
| return self.SlaveType |
| } |
| |
| func (self *ActionNxBundleLoad) SetSlaveType(v ActionNxBundleSlaveType) { |
| self.SlaveType = v |
| } |
| |
| func (self *ActionNxBundleLoad) GetNSlaves() uint16 { |
| return self.NSlaves |
| } |
| |
| func (self *ActionNxBundleLoad) SetNSlaves(v uint16) { |
| self.NSlaves = v |
| } |
| |
| func (self *ActionNxBundleLoad) GetOfsNbits() uint16 { |
| return self.OfsNbits |
| } |
| |
| func (self *ActionNxBundleLoad) SetOfsNbits(v uint16) { |
| self.OfsNbits = v |
| } |
| |
| func (self *ActionNxBundleLoad) GetDst() goloxi.IOxmId { |
| return self.Dst |
| } |
| |
| func (self *ActionNxBundleLoad) SetDst(v goloxi.IOxmId) { |
| self.Dst = v |
| } |
| |
| func (self *ActionNxBundleLoad) Serialize(encoder *goloxi.Encoder) error { |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Algorithm)) |
| encoder.PutUint16(uint16(self.Fields)) |
| encoder.PutUint16(uint16(self.Basis)) |
| encoder.PutUint32(uint32(self.SlaveType)) |
| encoder.PutUint16(uint16(self.NSlaves)) |
| encoder.PutUint16(uint16(self.OfsNbits)) |
| self.Dst.Serialize(encoder) |
| |
| return nil |
| } |
| |
| func DecodeActionNxBundleLoad(parent *ActionNicira, decoder *goloxi.Decoder) (IActionNxBundleLoad, error) { |
| _actionnxbundleload := &ActionNxBundleLoad{ActionNicira: parent} |
| if decoder.Length() < 18 { |
| return nil, fmt.Errorf("ActionNxBundleLoad packet too short: %d < 18", decoder.Length()) |
| } |
| _actionnxbundleload.Algorithm = NxBdAlgorithms(decoder.ReadUint16()) |
| _actionnxbundleload.Fields = NxHashFields(decoder.ReadUint16()) |
| _actionnxbundleload.Basis = uint16(decoder.ReadUint16()) |
| _actionnxbundleload.SlaveType = ActionNxBundleSlaveType(decoder.ReadUint32()) |
| _actionnxbundleload.NSlaves = uint16(decoder.ReadUint16()) |
| _actionnxbundleload.OfsNbits = uint16(decoder.ReadUint16()) |
| if obj, err := DecodeOxmId(decoder); err != nil { |
| return nil, err |
| } else { |
| _actionnxbundleload.Dst = obj |
| } |
| |
| return _actionnxbundleload, nil |
| } |
| |
| func NewActionNxBundleLoad(_slave_type ActionNxBundleSlaveType) *ActionNxBundleLoad { |
| obj := &ActionNxBundleLoad{ |
| ActionNicira: NewActionNicira(13), |
| } |
| obj.SlaveType = _slave_type |
| return obj |
| } |
| func (self *ActionNxBundleLoad) GetActionName() string { |
| return "nx_bundle_load" |
| } |
| |
| func (self *ActionNxBundleLoad) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Algorithm": self.Algorithm, |
| "Fields": self.Fields, |
| "Basis": self.Basis, |
| "SlaveType": self.SlaveType, |
| "NSlaves": self.NSlaves, |
| "OfsNbits": self.OfsNbits, |
| "Dst": self.Dst, |
| } |
| } |
| |
| func (self *ActionNxBundleLoad) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxBundleLoadInPort struct { |
| *ActionNicira |
| Algorithm NxBdAlgorithms |
| Fields NxHashFields |
| Basis uint16 |
| SlaveType ActionNxBundleSlaveType |
| NSlaves uint16 |
| OfsNbits uint16 |
| Dst goloxi.IOxmId |
| InPorts []*ActionNxBundleLoadSlave |
| } |
| |
| type IActionNxBundleLoadInPort interface { |
| IActionNicira |
| GetAlgorithm() NxBdAlgorithms |
| GetFields() NxHashFields |
| GetBasis() uint16 |
| GetSlaveType() ActionNxBundleSlaveType |
| GetNSlaves() uint16 |
| GetOfsNbits() uint16 |
| GetDst() goloxi.IOxmId |
| GetInPorts() []*ActionNxBundleLoadSlave |
| } |
| |
| func (self *ActionNxBundleLoadInPort) GetAlgorithm() NxBdAlgorithms { |
| return self.Algorithm |
| } |
| |
| func (self *ActionNxBundleLoadInPort) SetAlgorithm(v NxBdAlgorithms) { |
| self.Algorithm = v |
| } |
| |
| func (self *ActionNxBundleLoadInPort) GetFields() NxHashFields { |
| return self.Fields |
| } |
| |
| func (self *ActionNxBundleLoadInPort) SetFields(v NxHashFields) { |
| self.Fields = v |
| } |
| |
| func (self *ActionNxBundleLoadInPort) GetBasis() uint16 { |
| return self.Basis |
| } |
| |
| func (self *ActionNxBundleLoadInPort) SetBasis(v uint16) { |
| self.Basis = v |
| } |
| |
| func (self *ActionNxBundleLoadInPort) GetSlaveType() ActionNxBundleSlaveType { |
| return self.SlaveType |
| } |
| |
| func (self *ActionNxBundleLoadInPort) SetSlaveType(v ActionNxBundleSlaveType) { |
| self.SlaveType = v |
| } |
| |
| func (self *ActionNxBundleLoadInPort) GetNSlaves() uint16 { |
| return self.NSlaves |
| } |
| |
| func (self *ActionNxBundleLoadInPort) SetNSlaves(v uint16) { |
| self.NSlaves = v |
| } |
| |
| func (self *ActionNxBundleLoadInPort) GetOfsNbits() uint16 { |
| return self.OfsNbits |
| } |
| |
| func (self *ActionNxBundleLoadInPort) SetOfsNbits(v uint16) { |
| self.OfsNbits = v |
| } |
| |
| func (self *ActionNxBundleLoadInPort) GetDst() goloxi.IOxmId { |
| return self.Dst |
| } |
| |
| func (self *ActionNxBundleLoadInPort) SetDst(v goloxi.IOxmId) { |
| self.Dst = v |
| } |
| |
| func (self *ActionNxBundleLoadInPort) GetInPorts() []*ActionNxBundleLoadSlave { |
| return self.InPorts |
| } |
| |
| func (self *ActionNxBundleLoadInPort) SetInPorts(v []*ActionNxBundleLoadSlave) { |
| self.InPorts = v |
| } |
| |
| func (self *ActionNxBundleLoadInPort) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Algorithm)) |
| encoder.PutUint16(uint16(self.Fields)) |
| encoder.PutUint16(uint16(self.Basis)) |
| encoder.PutUint32(uint32(self.SlaveType)) |
| encoder.PutUint16(uint16(self.NSlaves)) |
| encoder.PutUint16(uint16(self.OfsNbits)) |
| self.Dst.Serialize(encoder) |
| encoder.Write(bytes.Repeat([]byte{0}, 4)) |
| for _, obj := range self.InPorts { |
| 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 DecodeActionNxBundleLoadInPort(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxBundleLoadInPort, error) { |
| _actionnxbundleloadinport := &ActionNxBundleLoadInPort{ActionNicira: parent} |
| if decoder.Length() < 22 { |
| return nil, fmt.Errorf("ActionNxBundleLoadInPort packet too short: %d < 22", decoder.Length()) |
| } |
| _actionnxbundleloadinport.Algorithm = NxBdAlgorithms(decoder.ReadUint16()) |
| _actionnxbundleloadinport.Fields = NxHashFields(decoder.ReadUint16()) |
| _actionnxbundleloadinport.Basis = uint16(decoder.ReadUint16()) |
| _actionnxbundleloadinport.SlaveType = ActionNxBundleSlaveType(decoder.ReadUint32()) |
| _actionnxbundleloadinport.NSlaves = uint16(decoder.ReadUint16()) |
| _actionnxbundleloadinport.OfsNbits = uint16(decoder.ReadUint16()) |
| if obj, err := DecodeOxmId(decoder); err != nil { |
| return nil, err |
| } else { |
| _actionnxbundleloadinport.Dst = obj |
| } |
| |
| decoder.Skip(4) |
| |
| end := decoder.Offset() + int(_actionnxbundleloadinport.NSlaves) |
| for decoder.Offset() < end { |
| item, err := DecodeActionNxBundleLoadSlave(decoder) |
| if err != nil { |
| return nil, err |
| } |
| if item != nil { |
| _actionnxbundleloadinport.InPorts = append(_actionnxbundleloadinport.InPorts, item) |
| } |
| } |
| return _actionnxbundleloadinport, nil |
| } |
| |
| func NewActionNxBundleLoadInPort() *ActionNxBundleLoadInPort { |
| obj := &ActionNxBundleLoadInPort{ |
| ActionNicira: NewActionNicira(13), |
| } |
| return obj |
| } |
| func (self *ActionNxBundleLoadInPort) GetActionName() string { |
| return "nx_bundle_load_in_port" |
| } |
| |
| func (self *ActionNxBundleLoadInPort) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Algorithm": self.Algorithm, |
| "Fields": self.Fields, |
| "Basis": self.Basis, |
| "SlaveType": self.SlaveType, |
| "NSlaves": self.NSlaves, |
| "OfsNbits": self.OfsNbits, |
| "Dst": self.Dst, |
| "InPorts": self.InPorts, |
| } |
| } |
| |
| func (self *ActionNxBundleLoadInPort) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxClone struct { |
| *ActionNicira |
| Actions []goloxi.IAction |
| } |
| |
| type IActionNxClone interface { |
| IActionNicira |
| GetActions() []goloxi.IAction |
| } |
| |
| func (self *ActionNxClone) GetActions() []goloxi.IAction { |
| return self.Actions |
| } |
| |
| func (self *ActionNxClone) SetActions(v []goloxi.IAction) { |
| self.Actions = v |
| } |
| |
| func (self *ActionNxClone) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.Write(bytes.Repeat([]byte{0}, 6)) |
| for _, obj := range self.Actions { |
| 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 DecodeActionNxClone(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxClone, error) { |
| _actionnxclone := &ActionNxClone{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxClone packet too short: %d < 6", decoder.Length()) |
| } |
| decoder.Skip(6) |
| |
| for decoder.Length() >= 8 { |
| item, err := DecodeAction(decoder) |
| if err != nil { |
| return nil, err |
| } |
| if item != nil { |
| _actionnxclone.Actions = append(_actionnxclone.Actions, item) |
| } |
| } |
| return _actionnxclone, nil |
| } |
| |
| func NewActionNxClone() *ActionNxClone { |
| obj := &ActionNxClone{ |
| ActionNicira: NewActionNicira(42), |
| } |
| return obj |
| } |
| func (self *ActionNxClone) GetActionName() string { |
| return "nx_clone" |
| } |
| |
| func (self *ActionNxClone) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Actions": self.Actions, |
| } |
| } |
| |
| func (self *ActionNxClone) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxConjunction struct { |
| *ActionNicira |
| Clause uint8 |
| NClauses uint8 |
| Id uint32 |
| } |
| |
| type IActionNxConjunction interface { |
| IActionNicira |
| GetClause() uint8 |
| GetNClauses() uint8 |
| GetId() uint32 |
| } |
| |
| func (self *ActionNxConjunction) GetClause() uint8 { |
| return self.Clause |
| } |
| |
| func (self *ActionNxConjunction) SetClause(v uint8) { |
| self.Clause = v |
| } |
| |
| func (self *ActionNxConjunction) GetNClauses() uint8 { |
| return self.NClauses |
| } |
| |
| func (self *ActionNxConjunction) SetNClauses(v uint8) { |
| self.NClauses = v |
| } |
| |
| func (self *ActionNxConjunction) GetId() uint32 { |
| return self.Id |
| } |
| |
| func (self *ActionNxConjunction) SetId(v uint32) { |
| self.Id = v |
| } |
| |
| func (self *ActionNxConjunction) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint8(uint8(self.Clause)) |
| encoder.PutUint8(uint8(self.NClauses)) |
| encoder.PutUint32(uint32(self.Id)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxConjunction(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxConjunction, error) { |
| _actionnxconjunction := &ActionNxConjunction{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxConjunction packet too short: %d < 6", decoder.Length()) |
| } |
| _actionnxconjunction.Clause = uint8(decoder.ReadByte()) |
| _actionnxconjunction.NClauses = uint8(decoder.ReadByte()) |
| _actionnxconjunction.Id = uint32(decoder.ReadUint32()) |
| return _actionnxconjunction, nil |
| } |
| |
| func NewActionNxConjunction() *ActionNxConjunction { |
| obj := &ActionNxConjunction{ |
| ActionNicira: NewActionNicira(34), |
| } |
| return obj |
| } |
| func (self *ActionNxConjunction) GetActionName() string { |
| return "nx_conjunction" |
| } |
| |
| func (self *ActionNxConjunction) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Clause": self.Clause, |
| "NClauses": self.NClauses, |
| "Id": self.Id, |
| } |
| } |
| |
| func (self *ActionNxConjunction) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxController struct { |
| *ActionNicira |
| MaxLen uint16 |
| ControllerId uint16 |
| Reason uint8 |
| } |
| |
| type IActionNxController interface { |
| IActionNicira |
| GetMaxLen() uint16 |
| GetControllerId() uint16 |
| GetReason() uint8 |
| } |
| |
| func (self *ActionNxController) GetMaxLen() uint16 { |
| return self.MaxLen |
| } |
| |
| func (self *ActionNxController) SetMaxLen(v uint16) { |
| self.MaxLen = v |
| } |
| |
| func (self *ActionNxController) GetControllerId() uint16 { |
| return self.ControllerId |
| } |
| |
| func (self *ActionNxController) SetControllerId(v uint16) { |
| self.ControllerId = v |
| } |
| |
| func (self *ActionNxController) GetReason() uint8 { |
| return self.Reason |
| } |
| |
| func (self *ActionNxController) SetReason(v uint8) { |
| self.Reason = v |
| } |
| |
| func (self *ActionNxController) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.MaxLen)) |
| encoder.PutUint16(uint16(self.ControllerId)) |
| encoder.PutUint8(uint8(self.Reason)) |
| encoder.Write(bytes.Repeat([]byte{0}, 1)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxController(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxController, error) { |
| _actionnxcontroller := &ActionNxController{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxController packet too short: %d < 6", decoder.Length()) |
| } |
| _actionnxcontroller.MaxLen = uint16(decoder.ReadUint16()) |
| _actionnxcontroller.ControllerId = uint16(decoder.ReadUint16()) |
| _actionnxcontroller.Reason = uint8(decoder.ReadByte()) |
| decoder.Skip(1) |
| return _actionnxcontroller, nil |
| } |
| |
| func NewActionNxController() *ActionNxController { |
| obj := &ActionNxController{ |
| ActionNicira: NewActionNicira(20), |
| } |
| return obj |
| } |
| func (self *ActionNxController) GetActionName() string { |
| return "nx_controller" |
| } |
| |
| func (self *ActionNxController) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "MaxLen": self.MaxLen, |
| "ControllerId": self.ControllerId, |
| "Reason": self.Reason, |
| } |
| } |
| |
| func (self *ActionNxController) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxController2 struct { |
| *ActionNicira |
| Properties []IActionNxController2Property |
| } |
| |
| type IActionNxController2 interface { |
| IActionNicira |
| GetProperties() []IActionNxController2Property |
| } |
| |
| func (self *ActionNxController2) GetProperties() []IActionNxController2Property { |
| return self.Properties |
| } |
| |
| func (self *ActionNxController2) SetProperties(v []IActionNxController2Property) { |
| self.Properties = v |
| } |
| |
| func (self *ActionNxController2) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.Write(bytes.Repeat([]byte{0}, 6)) |
| for _, obj := range self.Properties { |
| 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 DecodeActionNxController2(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxController2, error) { |
| _actionnxcontroller2 := &ActionNxController2{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxController2 packet too short: %d < 6", decoder.Length()) |
| } |
| decoder.Skip(6) |
| |
| for decoder.Length() >= 2 { |
| item, err := DecodeActionNxController2Property(decoder) |
| if err != nil { |
| return nil, err |
| } |
| if item != nil { |
| _actionnxcontroller2.Properties = append(_actionnxcontroller2.Properties, item) |
| } |
| } |
| return _actionnxcontroller2, nil |
| } |
| |
| func NewActionNxController2() *ActionNxController2 { |
| obj := &ActionNxController2{ |
| ActionNicira: NewActionNicira(37), |
| } |
| return obj |
| } |
| func (self *ActionNxController2) GetActionName() string { |
| return "nx_controller2" |
| } |
| |
| func (self *ActionNxController2) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Properties": self.Properties, |
| } |
| } |
| |
| func (self *ActionNxController2) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxCt struct { |
| *ActionNicira |
| Flags NxConntrackFlags |
| ZoneSrc goloxi.IOxmId |
| Value uint16 |
| RecircTable uint8 |
| Alg uint16 |
| Actions []goloxi.IAction |
| } |
| |
| type IActionNxCt interface { |
| IActionNicira |
| GetFlags() NxConntrackFlags |
| GetZoneSrc() goloxi.IOxmId |
| GetValue() uint16 |
| GetRecircTable() uint8 |
| GetAlg() uint16 |
| GetActions() []goloxi.IAction |
| } |
| |
| func (self *ActionNxCt) GetFlags() NxConntrackFlags { |
| return self.Flags |
| } |
| |
| func (self *ActionNxCt) SetFlags(v NxConntrackFlags) { |
| self.Flags = v |
| } |
| |
| func (self *ActionNxCt) GetZoneSrc() goloxi.IOxmId { |
| return self.ZoneSrc |
| } |
| |
| func (self *ActionNxCt) SetZoneSrc(v goloxi.IOxmId) { |
| self.ZoneSrc = v |
| } |
| |
| func (self *ActionNxCt) GetValue() uint16 { |
| return self.Value |
| } |
| |
| func (self *ActionNxCt) SetValue(v uint16) { |
| self.Value = v |
| } |
| |
| func (self *ActionNxCt) GetRecircTable() uint8 { |
| return self.RecircTable |
| } |
| |
| func (self *ActionNxCt) SetRecircTable(v uint8) { |
| self.RecircTable = v |
| } |
| |
| func (self *ActionNxCt) GetAlg() uint16 { |
| return self.Alg |
| } |
| |
| func (self *ActionNxCt) SetAlg(v uint16) { |
| self.Alg = v |
| } |
| |
| func (self *ActionNxCt) GetActions() []goloxi.IAction { |
| return self.Actions |
| } |
| |
| func (self *ActionNxCt) SetActions(v []goloxi.IAction) { |
| self.Actions = v |
| } |
| |
| func (self *ActionNxCt) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Flags)) |
| self.ZoneSrc.Serialize(encoder) |
| encoder.PutUint16(uint16(self.Value)) |
| encoder.PutUint8(uint8(self.RecircTable)) |
| encoder.Write(bytes.Repeat([]byte{0}, 3)) |
| encoder.PutUint16(uint16(self.Alg)) |
| for _, obj := range self.Actions { |
| 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 DecodeActionNxCt(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxCt, error) { |
| _actionnxct := &ActionNxCt{ActionNicira: parent} |
| if decoder.Length() < 14 { |
| return nil, fmt.Errorf("ActionNxCt packet too short: %d < 14", decoder.Length()) |
| } |
| _actionnxct.Flags = NxConntrackFlags(decoder.ReadUint16()) |
| if obj, err := DecodeOxmId(decoder); err != nil { |
| return nil, err |
| } else { |
| _actionnxct.ZoneSrc = obj |
| } |
| |
| _actionnxct.Value = uint16(decoder.ReadUint16()) |
| _actionnxct.RecircTable = uint8(decoder.ReadByte()) |
| decoder.Skip(3) |
| _actionnxct.Alg = uint16(decoder.ReadUint16()) |
| |
| for decoder.Length() >= 8 { |
| item, err := DecodeAction(decoder) |
| if err != nil { |
| return nil, err |
| } |
| if item != nil { |
| _actionnxct.Actions = append(_actionnxct.Actions, item) |
| } |
| } |
| return _actionnxct, nil |
| } |
| |
| func NewActionNxCt() *ActionNxCt { |
| obj := &ActionNxCt{ |
| ActionNicira: NewActionNicira(35), |
| } |
| return obj |
| } |
| func (self *ActionNxCt) GetActionName() string { |
| return "nx_ct" |
| } |
| |
| func (self *ActionNxCt) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Flags": self.Flags, |
| "ZoneSrc": self.ZoneSrc, |
| "Value": self.Value, |
| "RecircTable": self.RecircTable, |
| "Alg": self.Alg, |
| "Actions": self.Actions, |
| } |
| } |
| |
| func (self *ActionNxCt) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxCtClear struct { |
| *ActionNicira |
| } |
| |
| type IActionNxCtClear interface { |
| IActionNicira |
| } |
| |
| func (self *ActionNxCtClear) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.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 DecodeActionNxCtClear(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxCtClear, error) { |
| _actionnxctclear := &ActionNxCtClear{ActionNicira: parent} |
| return _actionnxctclear, nil |
| } |
| |
| func NewActionNxCtClear() *ActionNxCtClear { |
| obj := &ActionNxCtClear{ |
| ActionNicira: NewActionNicira(43), |
| } |
| return obj |
| } |
| func (self *ActionNxCtClear) GetActionName() string { |
| return "nx_ct_clear" |
| } |
| |
| func (self *ActionNxCtClear) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionNxCtClear) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxDebugRecirc struct { |
| *ActionNicira |
| } |
| |
| type IActionNxDebugRecirc interface { |
| IActionNicira |
| } |
| |
| func (self *ActionNxDebugRecirc) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.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 DecodeActionNxDebugRecirc(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxDebugRecirc, error) { |
| _actionnxdebugrecirc := &ActionNxDebugRecirc{ActionNicira: parent} |
| return _actionnxdebugrecirc, nil |
| } |
| |
| func NewActionNxDebugRecirc() *ActionNxDebugRecirc { |
| obj := &ActionNxDebugRecirc{ |
| ActionNicira: NewActionNicira(255), |
| } |
| return obj |
| } |
| func (self *ActionNxDebugRecirc) GetActionName() string { |
| return "nx_debug_recirc" |
| } |
| |
| func (self *ActionNxDebugRecirc) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionNxDebugRecirc) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxDebugSlow struct { |
| *ActionNicira |
| } |
| |
| type IActionNxDebugSlow interface { |
| IActionNicira |
| } |
| |
| func (self *ActionNxDebugSlow) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.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 DecodeActionNxDebugSlow(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxDebugSlow, error) { |
| _actionnxdebugslow := &ActionNxDebugSlow{ActionNicira: parent} |
| return _actionnxdebugslow, nil |
| } |
| |
| func NewActionNxDebugSlow() *ActionNxDebugSlow { |
| obj := &ActionNxDebugSlow{ |
| ActionNicira: NewActionNicira(254), |
| } |
| return obj |
| } |
| func (self *ActionNxDebugSlow) GetActionName() string { |
| return "nx_debug_slow" |
| } |
| |
| func (self *ActionNxDebugSlow) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionNxDebugSlow) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxDecMplsTtl struct { |
| *ActionNicira |
| } |
| |
| type IActionNxDecMplsTtl interface { |
| IActionNicira |
| } |
| |
| func (self *ActionNxDecMplsTtl) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.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 DecodeActionNxDecMplsTtl(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxDecMplsTtl, error) { |
| _actionnxdecmplsttl := &ActionNxDecMplsTtl{ActionNicira: parent} |
| return _actionnxdecmplsttl, nil |
| } |
| |
| func NewActionNxDecMplsTtl() *ActionNxDecMplsTtl { |
| obj := &ActionNxDecMplsTtl{ |
| ActionNicira: NewActionNicira(26), |
| } |
| return obj |
| } |
| func (self *ActionNxDecMplsTtl) GetActionName() string { |
| return "nx_dec_mpls_ttl" |
| } |
| |
| func (self *ActionNxDecMplsTtl) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionNxDecMplsTtl) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxDecNshTtl struct { |
| *ActionNicira |
| } |
| |
| type IActionNxDecNshTtl interface { |
| IActionNicira |
| } |
| |
| func (self *ActionNxDecNshTtl) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.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 DecodeActionNxDecNshTtl(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxDecNshTtl, error) { |
| _actionnxdecnshttl := &ActionNxDecNshTtl{ActionNicira: parent} |
| return _actionnxdecnshttl, nil |
| } |
| |
| func NewActionNxDecNshTtl() *ActionNxDecNshTtl { |
| obj := &ActionNxDecNshTtl{ |
| ActionNicira: NewActionNicira(48), |
| } |
| return obj |
| } |
| func (self *ActionNxDecNshTtl) GetActionName() string { |
| return "nx_dec_nsh_ttl" |
| } |
| |
| func (self *ActionNxDecNshTtl) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionNxDecNshTtl) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxDecTtlCntIds struct { |
| *ActionNicira |
| NControllers uint16 |
| } |
| |
| type IActionNxDecTtlCntIds interface { |
| IActionNicira |
| GetNControllers() uint16 |
| } |
| |
| func (self *ActionNxDecTtlCntIds) GetNControllers() uint16 { |
| return self.NControllers |
| } |
| |
| func (self *ActionNxDecTtlCntIds) SetNControllers(v uint16) { |
| self.NControllers = v |
| } |
| |
| func (self *ActionNxDecTtlCntIds) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.NControllers)) |
| 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 DecodeActionNxDecTtlCntIds(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxDecTtlCntIds, error) { |
| _actionnxdecttlcntids := &ActionNxDecTtlCntIds{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxDecTtlCntIds packet too short: %d < 6", decoder.Length()) |
| } |
| _actionnxdecttlcntids.NControllers = uint16(decoder.ReadUint16()) |
| decoder.Skip(4) |
| return _actionnxdecttlcntids, nil |
| } |
| |
| func NewActionNxDecTtlCntIds() *ActionNxDecTtlCntIds { |
| obj := &ActionNxDecTtlCntIds{ |
| ActionNicira: NewActionNicira(21), |
| } |
| return obj |
| } |
| func (self *ActionNxDecTtlCntIds) GetActionName() string { |
| return "nx_dec_ttl_cnt_ids" |
| } |
| |
| func (self *ActionNxDecTtlCntIds) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "NControllers": self.NControllers, |
| } |
| } |
| |
| func (self *ActionNxDecTtlCntIds) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxDecap struct { |
| *ActionNicira |
| NewPktType uint32 |
| } |
| |
| type IActionNxDecap interface { |
| IActionNicira |
| GetNewPktType() uint32 |
| } |
| |
| func (self *ActionNxDecap) GetNewPktType() uint32 { |
| return self.NewPktType |
| } |
| |
| func (self *ActionNxDecap) SetNewPktType(v uint32) { |
| self.NewPktType = v |
| } |
| |
| func (self *ActionNxDecap) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.Write(bytes.Repeat([]byte{0}, 2)) |
| encoder.PutUint32(uint32(self.NewPktType)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxDecap(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxDecap, error) { |
| _actionnxdecap := &ActionNxDecap{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxDecap packet too short: %d < 6", decoder.Length()) |
| } |
| decoder.Skip(2) |
| _actionnxdecap.NewPktType = uint32(decoder.ReadUint32()) |
| return _actionnxdecap, nil |
| } |
| |
| func NewActionNxDecap() *ActionNxDecap { |
| obj := &ActionNxDecap{ |
| ActionNicira: NewActionNicira(47), |
| } |
| return obj |
| } |
| func (self *ActionNxDecap) GetActionName() string { |
| return "nx_decap" |
| } |
| |
| func (self *ActionNxDecap) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "NewPktType": self.NewPktType, |
| } |
| } |
| |
| func (self *ActionNxDecap) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxEncap struct { |
| *ActionNicira |
| HdrSize uint16 |
| PacketType PacketType |
| Props []IEdPropHeader |
| } |
| |
| type IActionNxEncap interface { |
| IActionNicira |
| GetHdrSize() uint16 |
| GetPacketType() PacketType |
| GetProps() []IEdPropHeader |
| } |
| |
| func (self *ActionNxEncap) GetHdrSize() uint16 { |
| return self.HdrSize |
| } |
| |
| func (self *ActionNxEncap) SetHdrSize(v uint16) { |
| self.HdrSize = v |
| } |
| |
| func (self *ActionNxEncap) GetPacketType() PacketType { |
| return self.PacketType |
| } |
| |
| func (self *ActionNxEncap) SetPacketType(v PacketType) { |
| self.PacketType = v |
| } |
| |
| func (self *ActionNxEncap) GetProps() []IEdPropHeader { |
| return self.Props |
| } |
| |
| func (self *ActionNxEncap) SetProps(v []IEdPropHeader) { |
| self.Props = v |
| } |
| |
| func (self *ActionNxEncap) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.HdrSize)) |
| encoder.PutUint32(uint32(self.PacketType)) |
| for _, obj := range self.Props { |
| 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 DecodeActionNxEncap(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxEncap, error) { |
| _actionnxencap := &ActionNxEncap{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxEncap packet too short: %d < 6", decoder.Length()) |
| } |
| _actionnxencap.HdrSize = uint16(decoder.ReadUint16()) |
| _actionnxencap.PacketType = PacketType(decoder.ReadUint32()) |
| |
| for decoder.Length() >= 4 { |
| item, err := DecodeEdPropHeader(decoder) |
| if err != nil { |
| return nil, err |
| } |
| if item != nil { |
| _actionnxencap.Props = append(_actionnxencap.Props, item) |
| } |
| } |
| return _actionnxencap, nil |
| } |
| |
| func NewActionNxEncap() *ActionNxEncap { |
| obj := &ActionNxEncap{ |
| ActionNicira: NewActionNicira(46), |
| } |
| return obj |
| } |
| func (self *ActionNxEncap) GetActionName() string { |
| return "nx_encap" |
| } |
| |
| func (self *ActionNxEncap) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "HdrSize": self.HdrSize, |
| "PacketType": self.PacketType, |
| "Props": self.Props, |
| } |
| } |
| |
| func (self *ActionNxEncap) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxExit struct { |
| *ActionNicira |
| } |
| |
| type IActionNxExit interface { |
| IActionNicira |
| } |
| |
| func (self *ActionNxExit) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.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 DecodeActionNxExit(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxExit, error) { |
| _actionnxexit := &ActionNxExit{ActionNicira: parent} |
| return _actionnxexit, nil |
| } |
| |
| func NewActionNxExit() *ActionNxExit { |
| obj := &ActionNxExit{ |
| ActionNicira: NewActionNicira(17), |
| } |
| return obj |
| } |
| func (self *ActionNxExit) GetActionName() string { |
| return "nx_exit" |
| } |
| |
| func (self *ActionNxExit) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionNxExit) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxFinTimeout struct { |
| *ActionNicira |
| FinIdleTimeout uint16 |
| FinHardTimeout uint16 |
| } |
| |
| type IActionNxFinTimeout interface { |
| IActionNicira |
| GetFinIdleTimeout() uint16 |
| GetFinHardTimeout() uint16 |
| } |
| |
| func (self *ActionNxFinTimeout) GetFinIdleTimeout() uint16 { |
| return self.FinIdleTimeout |
| } |
| |
| func (self *ActionNxFinTimeout) SetFinIdleTimeout(v uint16) { |
| self.FinIdleTimeout = v |
| } |
| |
| func (self *ActionNxFinTimeout) GetFinHardTimeout() uint16 { |
| return self.FinHardTimeout |
| } |
| |
| func (self *ActionNxFinTimeout) SetFinHardTimeout(v uint16) { |
| self.FinHardTimeout = v |
| } |
| |
| func (self *ActionNxFinTimeout) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.FinIdleTimeout)) |
| encoder.PutUint16(uint16(self.FinHardTimeout)) |
| encoder.Write(bytes.Repeat([]byte{0}, 2)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxFinTimeout(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxFinTimeout, error) { |
| _actionnxfintimeout := &ActionNxFinTimeout{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxFinTimeout packet too short: %d < 6", decoder.Length()) |
| } |
| _actionnxfintimeout.FinIdleTimeout = uint16(decoder.ReadUint16()) |
| _actionnxfintimeout.FinHardTimeout = uint16(decoder.ReadUint16()) |
| decoder.Skip(2) |
| return _actionnxfintimeout, nil |
| } |
| |
| func NewActionNxFinTimeout() *ActionNxFinTimeout { |
| obj := &ActionNxFinTimeout{ |
| ActionNicira: NewActionNicira(19), |
| } |
| return obj |
| } |
| func (self *ActionNxFinTimeout) GetActionName() string { |
| return "nx_fin_timeout" |
| } |
| |
| func (self *ActionNxFinTimeout) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "FinIdleTimeout": self.FinIdleTimeout, |
| "FinHardTimeout": self.FinHardTimeout, |
| } |
| } |
| |
| func (self *ActionNxFinTimeout) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxGroup struct { |
| *ActionNicira |
| Value uint32 |
| } |
| |
| type IActionNxGroup interface { |
| IActionNicira |
| GetValue() uint32 |
| } |
| |
| func (self *ActionNxGroup) GetValue() uint32 { |
| return self.Value |
| } |
| |
| func (self *ActionNxGroup) SetValue(v uint32) { |
| self.Value = v |
| } |
| |
| func (self *ActionNxGroup) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.Value)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxGroup(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxGroup, error) { |
| _actionnxgroup := &ActionNxGroup{ActionNicira: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionNxGroup packet too short: %d < 4", decoder.Length()) |
| } |
| _actionnxgroup.Value = uint32(decoder.ReadUint32()) |
| return _actionnxgroup, nil |
| } |
| |
| func NewActionNxGroup() *ActionNxGroup { |
| obj := &ActionNxGroup{ |
| ActionNicira: NewActionNicira(40), |
| } |
| return obj |
| } |
| func (self *ActionNxGroup) GetActionName() string { |
| return "nx_group" |
| } |
| |
| func (self *ActionNxGroup) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Value": self.Value, |
| } |
| } |
| |
| func (self *ActionNxGroup) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxLearn struct { |
| *ActionNicira |
| IdleTimeout uint16 |
| HardTimeout uint16 |
| Priority uint16 |
| Cookie uint64 |
| Flags uint16 |
| TableId uint8 |
| FinIdleTimeout uint16 |
| FinHardTimeout uint16 |
| FlowMods []IFlowModSpec |
| } |
| |
| type IActionNxLearn interface { |
| IActionNicira |
| GetIdleTimeout() uint16 |
| GetHardTimeout() uint16 |
| GetPriority() uint16 |
| GetCookie() uint64 |
| GetFlags() uint16 |
| GetTableId() uint8 |
| GetFinIdleTimeout() uint16 |
| GetFinHardTimeout() uint16 |
| GetFlowMods() []IFlowModSpec |
| } |
| |
| func (self *ActionNxLearn) GetIdleTimeout() uint16 { |
| return self.IdleTimeout |
| } |
| |
| func (self *ActionNxLearn) SetIdleTimeout(v uint16) { |
| self.IdleTimeout = v |
| } |
| |
| func (self *ActionNxLearn) GetHardTimeout() uint16 { |
| return self.HardTimeout |
| } |
| |
| func (self *ActionNxLearn) SetHardTimeout(v uint16) { |
| self.HardTimeout = v |
| } |
| |
| func (self *ActionNxLearn) GetPriority() uint16 { |
| return self.Priority |
| } |
| |
| func (self *ActionNxLearn) SetPriority(v uint16) { |
| self.Priority = v |
| } |
| |
| func (self *ActionNxLearn) GetCookie() uint64 { |
| return self.Cookie |
| } |
| |
| func (self *ActionNxLearn) SetCookie(v uint64) { |
| self.Cookie = v |
| } |
| |
| func (self *ActionNxLearn) GetFlags() uint16 { |
| return self.Flags |
| } |
| |
| func (self *ActionNxLearn) SetFlags(v uint16) { |
| self.Flags = v |
| } |
| |
| func (self *ActionNxLearn) GetTableId() uint8 { |
| return self.TableId |
| } |
| |
| func (self *ActionNxLearn) SetTableId(v uint8) { |
| self.TableId = v |
| } |
| |
| func (self *ActionNxLearn) GetFinIdleTimeout() uint16 { |
| return self.FinIdleTimeout |
| } |
| |
| func (self *ActionNxLearn) SetFinIdleTimeout(v uint16) { |
| self.FinIdleTimeout = v |
| } |
| |
| func (self *ActionNxLearn) GetFinHardTimeout() uint16 { |
| return self.FinHardTimeout |
| } |
| |
| func (self *ActionNxLearn) SetFinHardTimeout(v uint16) { |
| self.FinHardTimeout = v |
| } |
| |
| func (self *ActionNxLearn) GetFlowMods() []IFlowModSpec { |
| return self.FlowMods |
| } |
| |
| func (self *ActionNxLearn) SetFlowMods(v []IFlowModSpec) { |
| self.FlowMods = v |
| } |
| |
| func (self *ActionNxLearn) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.IdleTimeout)) |
| encoder.PutUint16(uint16(self.HardTimeout)) |
| encoder.PutUint16(uint16(self.Priority)) |
| encoder.PutUint64(uint64(self.Cookie)) |
| encoder.PutUint16(uint16(self.Flags)) |
| encoder.PutUint8(uint8(self.TableId)) |
| encoder.Write(bytes.Repeat([]byte{0}, 1)) |
| encoder.PutUint16(uint16(self.FinIdleTimeout)) |
| encoder.PutUint16(uint16(self.FinHardTimeout)) |
| for _, obj := range self.FlowMods { |
| 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 DecodeActionNxLearn(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxLearn, error) { |
| _actionnxlearn := &ActionNxLearn{ActionNicira: parent} |
| if decoder.Length() < 22 { |
| return nil, fmt.Errorf("ActionNxLearn packet too short: %d < 22", decoder.Length()) |
| } |
| _actionnxlearn.IdleTimeout = uint16(decoder.ReadUint16()) |
| _actionnxlearn.HardTimeout = uint16(decoder.ReadUint16()) |
| _actionnxlearn.Priority = uint16(decoder.ReadUint16()) |
| _actionnxlearn.Cookie = uint64(decoder.ReadUint64()) |
| _actionnxlearn.Flags = uint16(decoder.ReadUint16()) |
| _actionnxlearn.TableId = uint8(decoder.ReadByte()) |
| decoder.Skip(1) |
| _actionnxlearn.FinIdleTimeout = uint16(decoder.ReadUint16()) |
| _actionnxlearn.FinHardTimeout = uint16(decoder.ReadUint16()) |
| |
| for decoder.Length() >= 2 { |
| item, err := DecodeFlowModSpec(decoder) |
| if err != nil { |
| return nil, err |
| } |
| if item != nil { |
| _actionnxlearn.FlowMods = append(_actionnxlearn.FlowMods, item) |
| } |
| } |
| return _actionnxlearn, nil |
| } |
| |
| func NewActionNxLearn() *ActionNxLearn { |
| obj := &ActionNxLearn{ |
| ActionNicira: NewActionNicira(16), |
| } |
| return obj |
| } |
| func (self *ActionNxLearn) GetActionName() string { |
| return "nx_learn" |
| } |
| |
| func (self *ActionNxLearn) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "IdleTimeout": self.IdleTimeout, |
| "HardTimeout": self.HardTimeout, |
| "Priority": self.Priority, |
| "Cookie": self.Cookie, |
| "Flags": self.Flags, |
| "TableId": self.TableId, |
| "FinIdleTimeout": self.FinIdleTimeout, |
| "FinHardTimeout": self.FinHardTimeout, |
| "FlowMods": self.FlowMods, |
| } |
| } |
| |
| func (self *ActionNxLearn) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxLearn2 struct { |
| *ActionNicira |
| } |
| |
| type IActionNxLearn2 interface { |
| IActionNicira |
| } |
| |
| func (self *ActionNxLearn2) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.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 DecodeActionNxLearn2(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxLearn2, error) { |
| _actionnxlearn2 := &ActionNxLearn2{ActionNicira: parent} |
| return _actionnxlearn2, nil |
| } |
| |
| func NewActionNxLearn2() *ActionNxLearn2 { |
| obj := &ActionNxLearn2{ |
| ActionNicira: NewActionNicira(45), |
| } |
| return obj |
| } |
| func (self *ActionNxLearn2) GetActionName() string { |
| return "nx_learn2" |
| } |
| |
| func (self *ActionNxLearn2) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionNxLearn2) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxMultipath struct { |
| *ActionNicira |
| Fields NxHashFields |
| Basis uint16 |
| Algorithm NxMpAlgorithm |
| MaxLink uint16 |
| Arg uint32 |
| OfsNbits uint16 |
| Dst goloxi.IOxmId |
| } |
| |
| type IActionNxMultipath interface { |
| IActionNicira |
| GetFields() NxHashFields |
| GetBasis() uint16 |
| GetAlgorithm() NxMpAlgorithm |
| GetMaxLink() uint16 |
| GetArg() uint32 |
| GetOfsNbits() uint16 |
| GetDst() goloxi.IOxmId |
| } |
| |
| func (self *ActionNxMultipath) GetFields() NxHashFields { |
| return self.Fields |
| } |
| |
| func (self *ActionNxMultipath) SetFields(v NxHashFields) { |
| self.Fields = v |
| } |
| |
| func (self *ActionNxMultipath) GetBasis() uint16 { |
| return self.Basis |
| } |
| |
| func (self *ActionNxMultipath) SetBasis(v uint16) { |
| self.Basis = v |
| } |
| |
| func (self *ActionNxMultipath) GetAlgorithm() NxMpAlgorithm { |
| return self.Algorithm |
| } |
| |
| func (self *ActionNxMultipath) SetAlgorithm(v NxMpAlgorithm) { |
| self.Algorithm = v |
| } |
| |
| func (self *ActionNxMultipath) GetMaxLink() uint16 { |
| return self.MaxLink |
| } |
| |
| func (self *ActionNxMultipath) SetMaxLink(v uint16) { |
| self.MaxLink = v |
| } |
| |
| func (self *ActionNxMultipath) GetArg() uint32 { |
| return self.Arg |
| } |
| |
| func (self *ActionNxMultipath) SetArg(v uint32) { |
| self.Arg = v |
| } |
| |
| func (self *ActionNxMultipath) GetOfsNbits() uint16 { |
| return self.OfsNbits |
| } |
| |
| func (self *ActionNxMultipath) SetOfsNbits(v uint16) { |
| self.OfsNbits = v |
| } |
| |
| func (self *ActionNxMultipath) GetDst() goloxi.IOxmId { |
| return self.Dst |
| } |
| |
| func (self *ActionNxMultipath) SetDst(v goloxi.IOxmId) { |
| self.Dst = v |
| } |
| |
| func (self *ActionNxMultipath) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Fields)) |
| encoder.PutUint16(uint16(self.Basis)) |
| encoder.Write(bytes.Repeat([]byte{0}, 2)) |
| encoder.PutUint16(uint16(self.Algorithm)) |
| encoder.PutUint16(uint16(self.MaxLink)) |
| encoder.PutUint32(uint32(self.Arg)) |
| encoder.Write(bytes.Repeat([]byte{0}, 2)) |
| encoder.PutUint16(uint16(self.OfsNbits)) |
| self.Dst.Serialize(encoder) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxMultipath(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxMultipath, error) { |
| _actionnxmultipath := &ActionNxMultipath{ActionNicira: parent} |
| if decoder.Length() < 22 { |
| return nil, fmt.Errorf("ActionNxMultipath packet too short: %d < 22", decoder.Length()) |
| } |
| _actionnxmultipath.Fields = NxHashFields(decoder.ReadUint16()) |
| _actionnxmultipath.Basis = uint16(decoder.ReadUint16()) |
| decoder.Skip(2) |
| _actionnxmultipath.Algorithm = NxMpAlgorithm(decoder.ReadUint16()) |
| _actionnxmultipath.MaxLink = uint16(decoder.ReadUint16()) |
| _actionnxmultipath.Arg = uint32(decoder.ReadUint32()) |
| decoder.Skip(2) |
| _actionnxmultipath.OfsNbits = uint16(decoder.ReadUint16()) |
| if obj, err := DecodeOxmId(decoder); err != nil { |
| return nil, err |
| } else { |
| _actionnxmultipath.Dst = obj |
| } |
| |
| return _actionnxmultipath, nil |
| } |
| |
| func NewActionNxMultipath() *ActionNxMultipath { |
| obj := &ActionNxMultipath{ |
| ActionNicira: NewActionNicira(10), |
| } |
| return obj |
| } |
| func (self *ActionNxMultipath) GetActionName() string { |
| return "nx_multipath" |
| } |
| |
| func (self *ActionNxMultipath) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Fields": self.Fields, |
| "Basis": self.Basis, |
| "Algorithm": self.Algorithm, |
| "MaxLink": self.MaxLink, |
| "Arg": self.Arg, |
| "OfsNbits": self.OfsNbits, |
| "Dst": self.Dst, |
| } |
| } |
| |
| func (self *ActionNxMultipath) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxNat struct { |
| *ActionNicira |
| Flags uint16 |
| RangePresent NxNatRange |
| Ipv4Min net.IP |
| Ipv4Max net.IP |
| Ipv6Min net.IP |
| Ipv6Max net.IP |
| ProtoMin uint32 |
| ProtoMax uint32 |
| } |
| |
| type IActionNxNat interface { |
| IActionNicira |
| GetFlags() uint16 |
| GetRangePresent() NxNatRange |
| GetIpv4Min() net.IP |
| GetIpv4Max() net.IP |
| GetIpv6Min() net.IP |
| GetIpv6Max() net.IP |
| GetProtoMin() uint32 |
| GetProtoMax() uint32 |
| } |
| |
| func (self *ActionNxNat) GetFlags() uint16 { |
| return self.Flags |
| } |
| |
| func (self *ActionNxNat) SetFlags(v uint16) { |
| self.Flags = v |
| } |
| |
| func (self *ActionNxNat) GetRangePresent() NxNatRange { |
| return self.RangePresent |
| } |
| |
| func (self *ActionNxNat) SetRangePresent(v NxNatRange) { |
| self.RangePresent = v |
| } |
| |
| func (self *ActionNxNat) GetIpv4Min() net.IP { |
| return self.Ipv4Min |
| } |
| |
| func (self *ActionNxNat) SetIpv4Min(v net.IP) { |
| self.Ipv4Min = v |
| } |
| |
| func (self *ActionNxNat) GetIpv4Max() net.IP { |
| return self.Ipv4Max |
| } |
| |
| func (self *ActionNxNat) SetIpv4Max(v net.IP) { |
| self.Ipv4Max = v |
| } |
| |
| func (self *ActionNxNat) GetIpv6Min() net.IP { |
| return self.Ipv6Min |
| } |
| |
| func (self *ActionNxNat) SetIpv6Min(v net.IP) { |
| self.Ipv6Min = v |
| } |
| |
| func (self *ActionNxNat) GetIpv6Max() net.IP { |
| return self.Ipv6Max |
| } |
| |
| func (self *ActionNxNat) SetIpv6Max(v net.IP) { |
| self.Ipv6Max = v |
| } |
| |
| func (self *ActionNxNat) GetProtoMin() uint32 { |
| return self.ProtoMin |
| } |
| |
| func (self *ActionNxNat) SetProtoMin(v uint32) { |
| self.ProtoMin = v |
| } |
| |
| func (self *ActionNxNat) GetProtoMax() uint32 { |
| return self.ProtoMax |
| } |
| |
| func (self *ActionNxNat) SetProtoMax(v uint32) { |
| self.ProtoMax = v |
| } |
| |
| func (self *ActionNxNat) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.Write(bytes.Repeat([]byte{0}, 2)) |
| encoder.PutUint16(uint16(self.Flags)) |
| encoder.PutUint16(uint16(self.RangePresent)) |
| encoder.Write(self.Ipv4Min.To4()) |
| encoder.Write(self.Ipv4Max.To4()) |
| encoder.Write(self.Ipv6Min.To16()) |
| encoder.Write(self.Ipv6Max.To16()) |
| encoder.PutUint32(uint32(self.ProtoMin)) |
| encoder.PutUint32(uint32(self.ProtoMax)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxNat(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxNat, error) { |
| _actionnxnat := &ActionNxNat{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxNat packet too short: %d < 6", decoder.Length()) |
| } |
| decoder.Skip(2) |
| _actionnxnat.Flags = uint16(decoder.ReadUint16()) |
| _actionnxnat.RangePresent = NxNatRange(decoder.ReadUint16()) |
| if _actionnxnat.RangePresent&1 == 1 { |
| _actionnxnat.Ipv4Min = net.IP(decoder.Read(4)) |
| } |
| if _actionnxnat.RangePresent&2 == 2 { |
| _actionnxnat.Ipv4Max = net.IP(decoder.Read(4)) |
| } |
| if _actionnxnat.RangePresent&4 == 4 { |
| _actionnxnat.Ipv6Min = net.IP(decoder.Read(16)) |
| } |
| if _actionnxnat.RangePresent&8 == 8 { |
| _actionnxnat.Ipv6Max = net.IP(decoder.Read(16)) |
| } |
| if _actionnxnat.RangePresent&16 == 16 { |
| _actionnxnat.ProtoMin = uint32(decoder.ReadUint32()) |
| } |
| if _actionnxnat.RangePresent&32 == 32 { |
| _actionnxnat.ProtoMax = uint32(decoder.ReadUint32()) |
| } |
| return _actionnxnat, nil |
| } |
| |
| func NewActionNxNat() *ActionNxNat { |
| obj := &ActionNxNat{ |
| ActionNicira: NewActionNicira(36), |
| } |
| return obj |
| } |
| func (self *ActionNxNat) GetActionName() string { |
| return "nx_nat" |
| } |
| |
| func (self *ActionNxNat) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Flags": self.Flags, |
| "RangePresent": self.RangePresent, |
| "Ipv4Min": self.Ipv4Min, |
| "Ipv4Max": self.Ipv4Max, |
| "Ipv6Min": self.Ipv6Min, |
| "Ipv6Max": self.Ipv6Max, |
| "ProtoMin": self.ProtoMin, |
| "ProtoMax": self.ProtoMax, |
| } |
| } |
| |
| func (self *ActionNxNat) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxNote struct { |
| *ActionNicira |
| Note []byte |
| } |
| |
| type IActionNxNote interface { |
| IActionNicira |
| GetNote() []byte |
| } |
| |
| func (self *ActionNxNote) GetNote() []byte { |
| return self.Note |
| } |
| |
| func (self *ActionNxNote) SetNote(v []byte) { |
| self.Note = v |
| } |
| |
| func (self *ActionNxNote) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.Write(self.Note) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxNote(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxNote, error) { |
| _actionnxnote := &ActionNxNote{ActionNicira: parent} |
| _actionnxnote.Note = decoder.Read(int(decoder.Length())) |
| return _actionnxnote, nil |
| } |
| |
| func NewActionNxNote() *ActionNxNote { |
| obj := &ActionNxNote{ |
| ActionNicira: NewActionNicira(8), |
| } |
| return obj |
| } |
| func (self *ActionNxNote) GetActionName() string { |
| return "nx_note" |
| } |
| |
| func (self *ActionNxNote) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Note": self.Note, |
| } |
| } |
| |
| func (self *ActionNxNote) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxOutputReg struct { |
| *ActionNicira |
| OfsNbits uint16 |
| Src uint32 |
| MaxLen uint16 |
| } |
| |
| type IActionNxOutputReg interface { |
| IActionNicira |
| GetOfsNbits() uint16 |
| GetSrc() uint32 |
| GetMaxLen() uint16 |
| } |
| |
| func (self *ActionNxOutputReg) GetOfsNbits() uint16 { |
| return self.OfsNbits |
| } |
| |
| func (self *ActionNxOutputReg) SetOfsNbits(v uint16) { |
| self.OfsNbits = v |
| } |
| |
| func (self *ActionNxOutputReg) GetSrc() uint32 { |
| return self.Src |
| } |
| |
| func (self *ActionNxOutputReg) SetSrc(v uint32) { |
| self.Src = v |
| } |
| |
| func (self *ActionNxOutputReg) GetMaxLen() uint16 { |
| return self.MaxLen |
| } |
| |
| func (self *ActionNxOutputReg) SetMaxLen(v uint16) { |
| self.MaxLen = v |
| } |
| |
| func (self *ActionNxOutputReg) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.OfsNbits)) |
| encoder.PutUint32(uint32(self.Src)) |
| encoder.PutUint16(uint16(self.MaxLen)) |
| encoder.Write(bytes.Repeat([]byte{0}, 6)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxOutputReg(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxOutputReg, error) { |
| _actionnxoutputreg := &ActionNxOutputReg{ActionNicira: parent} |
| if decoder.Length() < 14 { |
| return nil, fmt.Errorf("ActionNxOutputReg packet too short: %d < 14", decoder.Length()) |
| } |
| _actionnxoutputreg.OfsNbits = uint16(decoder.ReadUint16()) |
| _actionnxoutputreg.Src = uint32(decoder.ReadUint32()) |
| _actionnxoutputreg.MaxLen = uint16(decoder.ReadUint16()) |
| decoder.Skip(6) |
| return _actionnxoutputreg, nil |
| } |
| |
| func NewActionNxOutputReg() *ActionNxOutputReg { |
| obj := &ActionNxOutputReg{ |
| ActionNicira: NewActionNicira(15), |
| } |
| return obj |
| } |
| func (self *ActionNxOutputReg) GetActionName() string { |
| return "nx_output_reg" |
| } |
| |
| func (self *ActionNxOutputReg) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "OfsNbits": self.OfsNbits, |
| "Src": self.Src, |
| "MaxLen": self.MaxLen, |
| } |
| } |
| |
| func (self *ActionNxOutputReg) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxOutputReg2 struct { |
| *ActionNicira |
| OfsNbits uint16 |
| MaxLen uint16 |
| } |
| |
| type IActionNxOutputReg2 interface { |
| IActionNicira |
| GetOfsNbits() uint16 |
| GetMaxLen() uint16 |
| } |
| |
| func (self *ActionNxOutputReg2) GetOfsNbits() uint16 { |
| return self.OfsNbits |
| } |
| |
| func (self *ActionNxOutputReg2) SetOfsNbits(v uint16) { |
| self.OfsNbits = v |
| } |
| |
| func (self *ActionNxOutputReg2) GetMaxLen() uint16 { |
| return self.MaxLen |
| } |
| |
| func (self *ActionNxOutputReg2) SetMaxLen(v uint16) { |
| self.MaxLen = v |
| } |
| |
| func (self *ActionNxOutputReg2) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.OfsNbits)) |
| encoder.PutUint16(uint16(self.MaxLen)) |
| encoder.Write(bytes.Repeat([]byte{0}, 10)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxOutputReg2(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxOutputReg2, error) { |
| _actionnxoutputreg2 := &ActionNxOutputReg2{ActionNicira: parent} |
| if decoder.Length() < 14 { |
| return nil, fmt.Errorf("ActionNxOutputReg2 packet too short: %d < 14", decoder.Length()) |
| } |
| _actionnxoutputreg2.OfsNbits = uint16(decoder.ReadUint16()) |
| _actionnxoutputreg2.MaxLen = uint16(decoder.ReadUint16()) |
| decoder.Skip(10) |
| return _actionnxoutputreg2, nil |
| } |
| |
| func NewActionNxOutputReg2() *ActionNxOutputReg2 { |
| obj := &ActionNxOutputReg2{ |
| ActionNicira: NewActionNicira(32), |
| } |
| return obj |
| } |
| func (self *ActionNxOutputReg2) GetActionName() string { |
| return "nx_output_reg2" |
| } |
| |
| func (self *ActionNxOutputReg2) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "OfsNbits": self.OfsNbits, |
| "MaxLen": self.MaxLen, |
| } |
| } |
| |
| func (self *ActionNxOutputReg2) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxOutputTrunc struct { |
| *ActionNicira |
| Port uint16 |
| MaxLen uint32 |
| } |
| |
| type IActionNxOutputTrunc interface { |
| IActionNicira |
| GetPort() uint16 |
| GetMaxLen() uint32 |
| } |
| |
| func (self *ActionNxOutputTrunc) GetPort() uint16 { |
| return self.Port |
| } |
| |
| func (self *ActionNxOutputTrunc) SetPort(v uint16) { |
| self.Port = v |
| } |
| |
| func (self *ActionNxOutputTrunc) GetMaxLen() uint32 { |
| return self.MaxLen |
| } |
| |
| func (self *ActionNxOutputTrunc) SetMaxLen(v uint32) { |
| self.MaxLen = v |
| } |
| |
| func (self *ActionNxOutputTrunc) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Port)) |
| encoder.PutUint32(uint32(self.MaxLen)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxOutputTrunc(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxOutputTrunc, error) { |
| _actionnxoutputtrunc := &ActionNxOutputTrunc{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxOutputTrunc packet too short: %d < 6", decoder.Length()) |
| } |
| _actionnxoutputtrunc.Port = uint16(decoder.ReadUint16()) |
| _actionnxoutputtrunc.MaxLen = uint32(decoder.ReadUint32()) |
| return _actionnxoutputtrunc, nil |
| } |
| |
| func NewActionNxOutputTrunc() *ActionNxOutputTrunc { |
| obj := &ActionNxOutputTrunc{ |
| ActionNicira: NewActionNicira(39), |
| } |
| return obj |
| } |
| func (self *ActionNxOutputTrunc) GetActionName() string { |
| return "nx_output_trunc" |
| } |
| |
| func (self *ActionNxOutputTrunc) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Port": self.Port, |
| "MaxLen": self.MaxLen, |
| } |
| } |
| |
| func (self *ActionNxOutputTrunc) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxPopMpls struct { |
| *ActionNicira |
| Value uint16 |
| } |
| |
| type IActionNxPopMpls interface { |
| IActionNicira |
| GetValue() uint16 |
| } |
| |
| func (self *ActionNxPopMpls) GetValue() uint16 { |
| return self.Value |
| } |
| |
| func (self *ActionNxPopMpls) SetValue(v uint16) { |
| self.Value = v |
| } |
| |
| func (self *ActionNxPopMpls) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Value)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxPopMpls(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxPopMpls, error) { |
| _actionnxpopmpls := &ActionNxPopMpls{ActionNicira: parent} |
| if decoder.Length() < 2 { |
| return nil, fmt.Errorf("ActionNxPopMpls packet too short: %d < 2", decoder.Length()) |
| } |
| _actionnxpopmpls.Value = uint16(decoder.ReadUint16()) |
| return _actionnxpopmpls, nil |
| } |
| |
| func NewActionNxPopMpls() *ActionNxPopMpls { |
| obj := &ActionNxPopMpls{ |
| ActionNicira: NewActionNicira(24), |
| } |
| return obj |
| } |
| func (self *ActionNxPopMpls) GetActionName() string { |
| return "nx_pop_mpls" |
| } |
| |
| func (self *ActionNxPopMpls) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Value": self.Value, |
| } |
| } |
| |
| func (self *ActionNxPopMpls) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxPopQueue struct { |
| *ActionNicira |
| } |
| |
| type IActionNxPopQueue interface { |
| IActionNicira |
| } |
| |
| func (self *ActionNxPopQueue) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.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 DecodeActionNxPopQueue(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxPopQueue, error) { |
| _actionnxpopqueue := &ActionNxPopQueue{ActionNicira: parent} |
| return _actionnxpopqueue, nil |
| } |
| |
| func NewActionNxPopQueue() *ActionNxPopQueue { |
| obj := &ActionNxPopQueue{ |
| ActionNicira: NewActionNicira(5), |
| } |
| return obj |
| } |
| func (self *ActionNxPopQueue) GetActionName() string { |
| return "nx_pop_queue" |
| } |
| |
| func (self *ActionNxPopQueue) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionNxPopQueue) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxPushMpls struct { |
| *ActionNicira |
| Value uint16 |
| } |
| |
| type IActionNxPushMpls interface { |
| IActionNicira |
| GetValue() uint16 |
| } |
| |
| func (self *ActionNxPushMpls) GetValue() uint16 { |
| return self.Value |
| } |
| |
| func (self *ActionNxPushMpls) SetValue(v uint16) { |
| self.Value = v |
| } |
| |
| func (self *ActionNxPushMpls) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Value)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxPushMpls(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxPushMpls, error) { |
| _actionnxpushmpls := &ActionNxPushMpls{ActionNicira: parent} |
| if decoder.Length() < 2 { |
| return nil, fmt.Errorf("ActionNxPushMpls packet too short: %d < 2", decoder.Length()) |
| } |
| _actionnxpushmpls.Value = uint16(decoder.ReadUint16()) |
| return _actionnxpushmpls, nil |
| } |
| |
| func NewActionNxPushMpls() *ActionNxPushMpls { |
| obj := &ActionNxPushMpls{ |
| ActionNicira: NewActionNicira(23), |
| } |
| return obj |
| } |
| func (self *ActionNxPushMpls) GetActionName() string { |
| return "nx_push_mpls" |
| } |
| |
| func (self *ActionNxPushMpls) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Value": self.Value, |
| } |
| } |
| |
| func (self *ActionNxPushMpls) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxRegLoad struct { |
| *ActionNicira |
| OfsNbits uint16 |
| SrcField goloxi.IOxmId |
| Value uint64 |
| } |
| |
| type IActionNxRegLoad interface { |
| IActionNicira |
| GetOfsNbits() uint16 |
| GetSrcField() goloxi.IOxmId |
| GetValue() uint64 |
| } |
| |
| func (self *ActionNxRegLoad) GetOfsNbits() uint16 { |
| return self.OfsNbits |
| } |
| |
| func (self *ActionNxRegLoad) SetOfsNbits(v uint16) { |
| self.OfsNbits = v |
| } |
| |
| func (self *ActionNxRegLoad) GetSrcField() goloxi.IOxmId { |
| return self.SrcField |
| } |
| |
| func (self *ActionNxRegLoad) SetSrcField(v goloxi.IOxmId) { |
| self.SrcField = v |
| } |
| |
| func (self *ActionNxRegLoad) GetValue() uint64 { |
| return self.Value |
| } |
| |
| func (self *ActionNxRegLoad) SetValue(v uint64) { |
| self.Value = v |
| } |
| |
| func (self *ActionNxRegLoad) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.OfsNbits)) |
| self.SrcField.Serialize(encoder) |
| encoder.PutUint64(uint64(self.Value)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxRegLoad(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxRegLoad, error) { |
| _actionnxregload := &ActionNxRegLoad{ActionNicira: parent} |
| if decoder.Length() < 14 { |
| return nil, fmt.Errorf("ActionNxRegLoad packet too short: %d < 14", decoder.Length()) |
| } |
| _actionnxregload.OfsNbits = uint16(decoder.ReadUint16()) |
| if obj, err := DecodeOxmId(decoder); err != nil { |
| return nil, err |
| } else { |
| _actionnxregload.SrcField = obj |
| } |
| |
| _actionnxregload.Value = uint64(decoder.ReadUint64()) |
| return _actionnxregload, nil |
| } |
| |
| func NewActionNxRegLoad() *ActionNxRegLoad { |
| obj := &ActionNxRegLoad{ |
| ActionNicira: NewActionNicira(7), |
| } |
| return obj |
| } |
| func (self *ActionNxRegLoad) GetActionName() string { |
| return "nx_reg_load" |
| } |
| |
| func (self *ActionNxRegLoad) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "OfsNbits": self.OfsNbits, |
| "SrcField": self.SrcField, |
| "Value": self.Value, |
| } |
| } |
| |
| func (self *ActionNxRegLoad) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxRegLoad2 struct { |
| *ActionNicira |
| } |
| |
| type IActionNxRegLoad2 interface { |
| IActionNicira |
| } |
| |
| func (self *ActionNxRegLoad2) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.Write(bytes.Repeat([]byte{0}, 6)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxRegLoad2(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxRegLoad2, error) { |
| _actionnxregload2 := &ActionNxRegLoad2{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxRegLoad2 packet too short: %d < 6", decoder.Length()) |
| } |
| decoder.Skip(6) |
| return _actionnxregload2, nil |
| } |
| |
| func NewActionNxRegLoad2() *ActionNxRegLoad2 { |
| obj := &ActionNxRegLoad2{ |
| ActionNicira: NewActionNicira(33), |
| } |
| return obj |
| } |
| func (self *ActionNxRegLoad2) GetActionName() string { |
| return "nx_reg_load2" |
| } |
| |
| func (self *ActionNxRegLoad2) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionNxRegLoad2) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxRegMove struct { |
| *ActionNicira |
| NBits uint16 |
| SrcOfs uint16 |
| DstOfs uint16 |
| Src goloxi.IOxmId |
| Dst goloxi.IOxmId |
| } |
| |
| type IActionNxRegMove interface { |
| IActionNicira |
| GetNBits() uint16 |
| GetSrcOfs() uint16 |
| GetDstOfs() uint16 |
| GetSrc() goloxi.IOxmId |
| GetDst() goloxi.IOxmId |
| } |
| |
| func (self *ActionNxRegMove) GetNBits() uint16 { |
| return self.NBits |
| } |
| |
| func (self *ActionNxRegMove) SetNBits(v uint16) { |
| self.NBits = v |
| } |
| |
| func (self *ActionNxRegMove) GetSrcOfs() uint16 { |
| return self.SrcOfs |
| } |
| |
| func (self *ActionNxRegMove) SetSrcOfs(v uint16) { |
| self.SrcOfs = v |
| } |
| |
| func (self *ActionNxRegMove) GetDstOfs() uint16 { |
| return self.DstOfs |
| } |
| |
| func (self *ActionNxRegMove) SetDstOfs(v uint16) { |
| self.DstOfs = v |
| } |
| |
| func (self *ActionNxRegMove) GetSrc() goloxi.IOxmId { |
| return self.Src |
| } |
| |
| func (self *ActionNxRegMove) SetSrc(v goloxi.IOxmId) { |
| self.Src = v |
| } |
| |
| func (self *ActionNxRegMove) GetDst() goloxi.IOxmId { |
| return self.Dst |
| } |
| |
| func (self *ActionNxRegMove) SetDst(v goloxi.IOxmId) { |
| self.Dst = v |
| } |
| |
| func (self *ActionNxRegMove) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.NBits)) |
| encoder.PutUint16(uint16(self.SrcOfs)) |
| encoder.PutUint16(uint16(self.DstOfs)) |
| self.Src.Serialize(encoder) |
| self.Dst.Serialize(encoder) |
| length := len(encoder.Bytes()) - startIndex |
| alignedLength := ((length + 7) / 8 * 8) |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| encoder.Write(bytes.Repeat([]byte{0}, alignedLength-length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxRegMove(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxRegMove, error) { |
| _actionnxregmove := &ActionNxRegMove{ActionNicira: parent} |
| if decoder.Length() < 14 { |
| return nil, fmt.Errorf("ActionNxRegMove packet too short: %d < 14", decoder.Length()) |
| } |
| _actionnxregmove.NBits = uint16(decoder.ReadUint16()) |
| _actionnxregmove.SrcOfs = uint16(decoder.ReadUint16()) |
| _actionnxregmove.DstOfs = uint16(decoder.ReadUint16()) |
| if obj, err := DecodeOxmId(decoder); err != nil { |
| return nil, err |
| } else { |
| _actionnxregmove.Src = obj |
| } |
| |
| if obj, err := DecodeOxmId(decoder); err != nil { |
| return nil, err |
| } else { |
| _actionnxregmove.Dst = obj |
| } |
| |
| return _actionnxregmove, nil |
| } |
| |
| func NewActionNxRegMove() *ActionNxRegMove { |
| obj := &ActionNxRegMove{ |
| ActionNicira: NewActionNicira(6), |
| } |
| return obj |
| } |
| func (self *ActionNxRegMove) GetActionName() string { |
| return "nx_reg_move" |
| } |
| |
| func (self *ActionNxRegMove) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "NBits": self.NBits, |
| "SrcOfs": self.SrcOfs, |
| "DstOfs": self.DstOfs, |
| "Src": self.Src, |
| "Dst": self.Dst, |
| } |
| } |
| |
| func (self *ActionNxRegMove) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxResubmit struct { |
| *ActionNicira |
| Value uint16 |
| } |
| |
| type IActionNxResubmit interface { |
| IActionNicira |
| GetValue() uint16 |
| } |
| |
| func (self *ActionNxResubmit) GetValue() uint16 { |
| return self.Value |
| } |
| |
| func (self *ActionNxResubmit) SetValue(v uint16) { |
| self.Value = v |
| } |
| |
| func (self *ActionNxResubmit) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Value)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxResubmit(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxResubmit, error) { |
| _actionnxresubmit := &ActionNxResubmit{ActionNicira: parent} |
| if decoder.Length() < 2 { |
| return nil, fmt.Errorf("ActionNxResubmit packet too short: %d < 2", decoder.Length()) |
| } |
| _actionnxresubmit.Value = uint16(decoder.ReadUint16()) |
| return _actionnxresubmit, nil |
| } |
| |
| func NewActionNxResubmit() *ActionNxResubmit { |
| obj := &ActionNxResubmit{ |
| ActionNicira: NewActionNicira(1), |
| } |
| return obj |
| } |
| func (self *ActionNxResubmit) GetActionName() string { |
| return "nx_resubmit" |
| } |
| |
| func (self *ActionNxResubmit) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Value": self.Value, |
| } |
| } |
| |
| func (self *ActionNxResubmit) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxResubmitTable struct { |
| *ActionNicira |
| InPort uint16 |
| Table uint8 |
| } |
| |
| type IActionNxResubmitTable interface { |
| IActionNicira |
| GetInPort() uint16 |
| GetTable() uint8 |
| } |
| |
| func (self *ActionNxResubmitTable) GetInPort() uint16 { |
| return self.InPort |
| } |
| |
| func (self *ActionNxResubmitTable) SetInPort(v uint16) { |
| self.InPort = v |
| } |
| |
| func (self *ActionNxResubmitTable) GetTable() uint8 { |
| return self.Table |
| } |
| |
| func (self *ActionNxResubmitTable) SetTable(v uint8) { |
| self.Table = v |
| } |
| |
| func (self *ActionNxResubmitTable) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.InPort)) |
| encoder.PutUint8(uint8(self.Table)) |
| 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 DecodeActionNxResubmitTable(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxResubmitTable, error) { |
| _actionnxresubmittable := &ActionNxResubmitTable{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxResubmitTable packet too short: %d < 6", decoder.Length()) |
| } |
| _actionnxresubmittable.InPort = uint16(decoder.ReadUint16()) |
| _actionnxresubmittable.Table = uint8(decoder.ReadByte()) |
| decoder.Skip(3) |
| return _actionnxresubmittable, nil |
| } |
| |
| func NewActionNxResubmitTable() *ActionNxResubmitTable { |
| obj := &ActionNxResubmitTable{ |
| ActionNicira: NewActionNicira(14), |
| } |
| return obj |
| } |
| func (self *ActionNxResubmitTable) GetActionName() string { |
| return "nx_resubmit_table" |
| } |
| |
| func (self *ActionNxResubmitTable) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "InPort": self.InPort, |
| "Table": self.Table, |
| } |
| } |
| |
| func (self *ActionNxResubmitTable) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxResubmitTableCt struct { |
| *ActionNicira |
| InPort uint16 |
| Table uint8 |
| } |
| |
| type IActionNxResubmitTableCt interface { |
| IActionNicira |
| GetInPort() uint16 |
| GetTable() uint8 |
| } |
| |
| func (self *ActionNxResubmitTableCt) GetInPort() uint16 { |
| return self.InPort |
| } |
| |
| func (self *ActionNxResubmitTableCt) SetInPort(v uint16) { |
| self.InPort = v |
| } |
| |
| func (self *ActionNxResubmitTableCt) GetTable() uint8 { |
| return self.Table |
| } |
| |
| func (self *ActionNxResubmitTableCt) SetTable(v uint8) { |
| self.Table = v |
| } |
| |
| func (self *ActionNxResubmitTableCt) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.InPort)) |
| encoder.PutUint8(uint8(self.Table)) |
| 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 DecodeActionNxResubmitTableCt(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxResubmitTableCt, error) { |
| _actionnxresubmittablect := &ActionNxResubmitTableCt{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionNxResubmitTableCt packet too short: %d < 6", decoder.Length()) |
| } |
| _actionnxresubmittablect.InPort = uint16(decoder.ReadUint16()) |
| _actionnxresubmittablect.Table = uint8(decoder.ReadByte()) |
| decoder.Skip(3) |
| return _actionnxresubmittablect, nil |
| } |
| |
| func NewActionNxResubmitTableCt() *ActionNxResubmitTableCt { |
| obj := &ActionNxResubmitTableCt{ |
| ActionNicira: NewActionNicira(44), |
| } |
| return obj |
| } |
| func (self *ActionNxResubmitTableCt) GetActionName() string { |
| return "nx_resubmit_table_ct" |
| } |
| |
| func (self *ActionNxResubmitTableCt) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "InPort": self.InPort, |
| "Table": self.Table, |
| } |
| } |
| |
| func (self *ActionNxResubmitTableCt) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxSample struct { |
| *ActionNicira |
| Probability uint16 |
| CollectorSetId uint32 |
| ObsDomainId uint32 |
| ObsPointId uint32 |
| } |
| |
| type IActionNxSample interface { |
| IActionNicira |
| GetProbability() uint16 |
| GetCollectorSetId() uint32 |
| GetObsDomainId() uint32 |
| GetObsPointId() uint32 |
| } |
| |
| func (self *ActionNxSample) GetProbability() uint16 { |
| return self.Probability |
| } |
| |
| func (self *ActionNxSample) SetProbability(v uint16) { |
| self.Probability = v |
| } |
| |
| func (self *ActionNxSample) GetCollectorSetId() uint32 { |
| return self.CollectorSetId |
| } |
| |
| func (self *ActionNxSample) SetCollectorSetId(v uint32) { |
| self.CollectorSetId = v |
| } |
| |
| func (self *ActionNxSample) GetObsDomainId() uint32 { |
| return self.ObsDomainId |
| } |
| |
| func (self *ActionNxSample) SetObsDomainId(v uint32) { |
| self.ObsDomainId = v |
| } |
| |
| func (self *ActionNxSample) GetObsPointId() uint32 { |
| return self.ObsPointId |
| } |
| |
| func (self *ActionNxSample) SetObsPointId(v uint32) { |
| self.ObsPointId = v |
| } |
| |
| func (self *ActionNxSample) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Probability)) |
| encoder.PutUint32(uint32(self.CollectorSetId)) |
| encoder.PutUint32(uint32(self.ObsDomainId)) |
| encoder.PutUint32(uint32(self.ObsPointId)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxSample(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxSample, error) { |
| _actionnxsample := &ActionNxSample{ActionNicira: parent} |
| if decoder.Length() < 14 { |
| return nil, fmt.Errorf("ActionNxSample packet too short: %d < 14", decoder.Length()) |
| } |
| _actionnxsample.Probability = uint16(decoder.ReadUint16()) |
| _actionnxsample.CollectorSetId = uint32(decoder.ReadUint32()) |
| _actionnxsample.ObsDomainId = uint32(decoder.ReadUint32()) |
| _actionnxsample.ObsPointId = uint32(decoder.ReadUint32()) |
| return _actionnxsample, nil |
| } |
| |
| func NewActionNxSample() *ActionNxSample { |
| obj := &ActionNxSample{ |
| ActionNicira: NewActionNicira(29), |
| } |
| return obj |
| } |
| func (self *ActionNxSample) GetActionName() string { |
| return "nx_sample" |
| } |
| |
| func (self *ActionNxSample) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Probability": self.Probability, |
| "CollectorSetId": self.CollectorSetId, |
| "ObsDomainId": self.ObsDomainId, |
| "ObsPointId": self.ObsPointId, |
| } |
| } |
| |
| func (self *ActionNxSample) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxSample2 struct { |
| *ActionNicira |
| Probability uint16 |
| CollectorSetId uint32 |
| ObsDomainId uint32 |
| ObsPointId uint32 |
| SamplingPort uint16 |
| Direction uint8 |
| } |
| |
| type IActionNxSample2 interface { |
| IActionNicira |
| GetProbability() uint16 |
| GetCollectorSetId() uint32 |
| GetObsDomainId() uint32 |
| GetObsPointId() uint32 |
| GetSamplingPort() uint16 |
| GetDirection() uint8 |
| } |
| |
| func (self *ActionNxSample2) GetProbability() uint16 { |
| return self.Probability |
| } |
| |
| func (self *ActionNxSample2) SetProbability(v uint16) { |
| self.Probability = v |
| } |
| |
| func (self *ActionNxSample2) GetCollectorSetId() uint32 { |
| return self.CollectorSetId |
| } |
| |
| func (self *ActionNxSample2) SetCollectorSetId(v uint32) { |
| self.CollectorSetId = v |
| } |
| |
| func (self *ActionNxSample2) GetObsDomainId() uint32 { |
| return self.ObsDomainId |
| } |
| |
| func (self *ActionNxSample2) SetObsDomainId(v uint32) { |
| self.ObsDomainId = v |
| } |
| |
| func (self *ActionNxSample2) GetObsPointId() uint32 { |
| return self.ObsPointId |
| } |
| |
| func (self *ActionNxSample2) SetObsPointId(v uint32) { |
| self.ObsPointId = v |
| } |
| |
| func (self *ActionNxSample2) GetSamplingPort() uint16 { |
| return self.SamplingPort |
| } |
| |
| func (self *ActionNxSample2) SetSamplingPort(v uint16) { |
| self.SamplingPort = v |
| } |
| |
| func (self *ActionNxSample2) GetDirection() uint8 { |
| return self.Direction |
| } |
| |
| func (self *ActionNxSample2) SetDirection(v uint8) { |
| self.Direction = v |
| } |
| |
| func (self *ActionNxSample2) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Probability)) |
| encoder.PutUint32(uint32(self.CollectorSetId)) |
| encoder.PutUint32(uint32(self.ObsDomainId)) |
| encoder.PutUint32(uint32(self.ObsPointId)) |
| encoder.PutUint16(uint16(self.SamplingPort)) |
| encoder.PutUint8(uint8(self.Direction)) |
| encoder.Write(bytes.Repeat([]byte{0}, 5)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxSample2(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxSample2, error) { |
| _actionnxsample2 := &ActionNxSample2{ActionNicira: parent} |
| if decoder.Length() < 22 { |
| return nil, fmt.Errorf("ActionNxSample2 packet too short: %d < 22", decoder.Length()) |
| } |
| _actionnxsample2.Probability = uint16(decoder.ReadUint16()) |
| _actionnxsample2.CollectorSetId = uint32(decoder.ReadUint32()) |
| _actionnxsample2.ObsDomainId = uint32(decoder.ReadUint32()) |
| _actionnxsample2.ObsPointId = uint32(decoder.ReadUint32()) |
| _actionnxsample2.SamplingPort = uint16(decoder.ReadUint16()) |
| _actionnxsample2.Direction = uint8(decoder.ReadByte()) |
| decoder.Skip(5) |
| return _actionnxsample2, nil |
| } |
| |
| func NewActionNxSample2() *ActionNxSample2 { |
| obj := &ActionNxSample2{ |
| ActionNicira: NewActionNicira(38), |
| } |
| return obj |
| } |
| func (self *ActionNxSample2) GetActionName() string { |
| return "nx_sample2" |
| } |
| |
| func (self *ActionNxSample2) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Probability": self.Probability, |
| "CollectorSetId": self.CollectorSetId, |
| "ObsDomainId": self.ObsDomainId, |
| "ObsPointId": self.ObsPointId, |
| "SamplingPort": self.SamplingPort, |
| "Direction": self.Direction, |
| } |
| } |
| |
| func (self *ActionNxSample2) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxSample3 struct { |
| *ActionNicira |
| Probability uint16 |
| CollectorSetId uint32 |
| ObsDomainId uint32 |
| ObsPointId uint32 |
| SamplingPort uint16 |
| Direction uint8 |
| } |
| |
| type IActionNxSample3 interface { |
| IActionNicira |
| GetProbability() uint16 |
| GetCollectorSetId() uint32 |
| GetObsDomainId() uint32 |
| GetObsPointId() uint32 |
| GetSamplingPort() uint16 |
| GetDirection() uint8 |
| } |
| |
| func (self *ActionNxSample3) GetProbability() uint16 { |
| return self.Probability |
| } |
| |
| func (self *ActionNxSample3) SetProbability(v uint16) { |
| self.Probability = v |
| } |
| |
| func (self *ActionNxSample3) GetCollectorSetId() uint32 { |
| return self.CollectorSetId |
| } |
| |
| func (self *ActionNxSample3) SetCollectorSetId(v uint32) { |
| self.CollectorSetId = v |
| } |
| |
| func (self *ActionNxSample3) GetObsDomainId() uint32 { |
| return self.ObsDomainId |
| } |
| |
| func (self *ActionNxSample3) SetObsDomainId(v uint32) { |
| self.ObsDomainId = v |
| } |
| |
| func (self *ActionNxSample3) GetObsPointId() uint32 { |
| return self.ObsPointId |
| } |
| |
| func (self *ActionNxSample3) SetObsPointId(v uint32) { |
| self.ObsPointId = v |
| } |
| |
| func (self *ActionNxSample3) GetSamplingPort() uint16 { |
| return self.SamplingPort |
| } |
| |
| func (self *ActionNxSample3) SetSamplingPort(v uint16) { |
| self.SamplingPort = v |
| } |
| |
| func (self *ActionNxSample3) GetDirection() uint8 { |
| return self.Direction |
| } |
| |
| func (self *ActionNxSample3) SetDirection(v uint8) { |
| self.Direction = v |
| } |
| |
| func (self *ActionNxSample3) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Probability)) |
| encoder.PutUint32(uint32(self.CollectorSetId)) |
| encoder.PutUint32(uint32(self.ObsDomainId)) |
| encoder.PutUint32(uint32(self.ObsPointId)) |
| encoder.PutUint16(uint16(self.SamplingPort)) |
| encoder.PutUint8(uint8(self.Direction)) |
| encoder.Write(bytes.Repeat([]byte{0}, 5)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxSample3(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxSample3, error) { |
| _actionnxsample3 := &ActionNxSample3{ActionNicira: parent} |
| if decoder.Length() < 22 { |
| return nil, fmt.Errorf("ActionNxSample3 packet too short: %d < 22", decoder.Length()) |
| } |
| _actionnxsample3.Probability = uint16(decoder.ReadUint16()) |
| _actionnxsample3.CollectorSetId = uint32(decoder.ReadUint32()) |
| _actionnxsample3.ObsDomainId = uint32(decoder.ReadUint32()) |
| _actionnxsample3.ObsPointId = uint32(decoder.ReadUint32()) |
| _actionnxsample3.SamplingPort = uint16(decoder.ReadUint16()) |
| _actionnxsample3.Direction = uint8(decoder.ReadByte()) |
| decoder.Skip(5) |
| return _actionnxsample3, nil |
| } |
| |
| func NewActionNxSample3() *ActionNxSample3 { |
| obj := &ActionNxSample3{ |
| ActionNicira: NewActionNicira(41), |
| } |
| return obj |
| } |
| func (self *ActionNxSample3) GetActionName() string { |
| return "nx_sample3" |
| } |
| |
| func (self *ActionNxSample3) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Probability": self.Probability, |
| "CollectorSetId": self.CollectorSetId, |
| "ObsDomainId": self.ObsDomainId, |
| "ObsPointId": self.ObsPointId, |
| "SamplingPort": self.SamplingPort, |
| "Direction": self.Direction, |
| } |
| } |
| |
| func (self *ActionNxSample3) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxSetMplsLabel struct { |
| *ActionNicira |
| Value uint32 |
| } |
| |
| type IActionNxSetMplsLabel interface { |
| IActionNicira |
| GetValue() uint32 |
| } |
| |
| func (self *ActionNxSetMplsLabel) GetValue() uint32 { |
| return self.Value |
| } |
| |
| func (self *ActionNxSetMplsLabel) SetValue(v uint32) { |
| self.Value = v |
| } |
| |
| func (self *ActionNxSetMplsLabel) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.Value)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxSetMplsLabel(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxSetMplsLabel, error) { |
| _actionnxsetmplslabel := &ActionNxSetMplsLabel{ActionNicira: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionNxSetMplsLabel packet too short: %d < 4", decoder.Length()) |
| } |
| _actionnxsetmplslabel.Value = uint32(decoder.ReadUint32()) |
| return _actionnxsetmplslabel, nil |
| } |
| |
| func NewActionNxSetMplsLabel() *ActionNxSetMplsLabel { |
| obj := &ActionNxSetMplsLabel{ |
| ActionNicira: NewActionNicira(30), |
| } |
| return obj |
| } |
| func (self *ActionNxSetMplsLabel) GetActionName() string { |
| return "nx_set_mpls_label" |
| } |
| |
| func (self *ActionNxSetMplsLabel) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Value": self.Value, |
| } |
| } |
| |
| func (self *ActionNxSetMplsLabel) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxSetMplsTc struct { |
| *ActionNicira |
| Value uint8 |
| } |
| |
| type IActionNxSetMplsTc interface { |
| IActionNicira |
| GetValue() uint8 |
| } |
| |
| func (self *ActionNxSetMplsTc) GetValue() uint8 { |
| return self.Value |
| } |
| |
| func (self *ActionNxSetMplsTc) SetValue(v uint8) { |
| self.Value = v |
| } |
| |
| func (self *ActionNxSetMplsTc) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint8(uint8(self.Value)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxSetMplsTc(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxSetMplsTc, error) { |
| _actionnxsetmplstc := &ActionNxSetMplsTc{ActionNicira: parent} |
| if decoder.Length() < 1 { |
| return nil, fmt.Errorf("ActionNxSetMplsTc packet too short: %d < 1", decoder.Length()) |
| } |
| _actionnxsetmplstc.Value = uint8(decoder.ReadByte()) |
| return _actionnxsetmplstc, nil |
| } |
| |
| func NewActionNxSetMplsTc() *ActionNxSetMplsTc { |
| obj := &ActionNxSetMplsTc{ |
| ActionNicira: NewActionNicira(31), |
| } |
| return obj |
| } |
| func (self *ActionNxSetMplsTc) GetActionName() string { |
| return "nx_set_mpls_tc" |
| } |
| |
| func (self *ActionNxSetMplsTc) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Value": self.Value, |
| } |
| } |
| |
| func (self *ActionNxSetMplsTc) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxSetMplsTtl struct { |
| *ActionNicira |
| Value uint8 |
| } |
| |
| type IActionNxSetMplsTtl interface { |
| IActionNicira |
| GetValue() uint8 |
| } |
| |
| func (self *ActionNxSetMplsTtl) GetValue() uint8 { |
| return self.Value |
| } |
| |
| func (self *ActionNxSetMplsTtl) SetValue(v uint8) { |
| self.Value = v |
| } |
| |
| func (self *ActionNxSetMplsTtl) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint8(uint8(self.Value)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxSetMplsTtl(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxSetMplsTtl, error) { |
| _actionnxsetmplsttl := &ActionNxSetMplsTtl{ActionNicira: parent} |
| if decoder.Length() < 1 { |
| return nil, fmt.Errorf("ActionNxSetMplsTtl packet too short: %d < 1", decoder.Length()) |
| } |
| _actionnxsetmplsttl.Value = uint8(decoder.ReadByte()) |
| return _actionnxsetmplsttl, nil |
| } |
| |
| func NewActionNxSetMplsTtl() *ActionNxSetMplsTtl { |
| obj := &ActionNxSetMplsTtl{ |
| ActionNicira: NewActionNicira(25), |
| } |
| return obj |
| } |
| func (self *ActionNxSetMplsTtl) GetActionName() string { |
| return "nx_set_mpls_ttl" |
| } |
| |
| func (self *ActionNxSetMplsTtl) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Value": self.Value, |
| } |
| } |
| |
| func (self *ActionNxSetMplsTtl) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxSetQueue struct { |
| *ActionNicira |
| Value uint32 |
| } |
| |
| type IActionNxSetQueue interface { |
| IActionNicira |
| GetValue() uint32 |
| } |
| |
| func (self *ActionNxSetQueue) GetValue() uint32 { |
| return self.Value |
| } |
| |
| func (self *ActionNxSetQueue) SetValue(v uint32) { |
| self.Value = v |
| } |
| |
| func (self *ActionNxSetQueue) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.Value)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxSetQueue(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxSetQueue, error) { |
| _actionnxsetqueue := &ActionNxSetQueue{ActionNicira: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionNxSetQueue packet too short: %d < 4", decoder.Length()) |
| } |
| _actionnxsetqueue.Value = uint32(decoder.ReadUint32()) |
| return _actionnxsetqueue, nil |
| } |
| |
| func NewActionNxSetQueue() *ActionNxSetQueue { |
| obj := &ActionNxSetQueue{ |
| ActionNicira: NewActionNicira(4), |
| } |
| return obj |
| } |
| func (self *ActionNxSetQueue) GetActionName() string { |
| return "nx_set_queue" |
| } |
| |
| func (self *ActionNxSetQueue) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Value": self.Value, |
| } |
| } |
| |
| func (self *ActionNxSetQueue) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxSetTunnel struct { |
| *ActionNicira |
| Value uint32 |
| } |
| |
| type IActionNxSetTunnel interface { |
| IActionNicira |
| GetValue() uint32 |
| } |
| |
| func (self *ActionNxSetTunnel) GetValue() uint32 { |
| return self.Value |
| } |
| |
| func (self *ActionNxSetTunnel) SetValue(v uint32) { |
| self.Value = v |
| } |
| |
| func (self *ActionNxSetTunnel) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.Value)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxSetTunnel(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxSetTunnel, error) { |
| _actionnxsettunnel := &ActionNxSetTunnel{ActionNicira: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionNxSetTunnel packet too short: %d < 4", decoder.Length()) |
| } |
| _actionnxsettunnel.Value = uint32(decoder.ReadUint32()) |
| return _actionnxsettunnel, nil |
| } |
| |
| func NewActionNxSetTunnel() *ActionNxSetTunnel { |
| obj := &ActionNxSetTunnel{ |
| ActionNicira: NewActionNicira(2), |
| } |
| return obj |
| } |
| func (self *ActionNxSetTunnel) GetActionName() string { |
| return "nx_set_tunnel" |
| } |
| |
| func (self *ActionNxSetTunnel) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Value": self.Value, |
| } |
| } |
| |
| func (self *ActionNxSetTunnel) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxSetTunnel64 struct { |
| *ActionNicira |
| Value uint64 |
| } |
| |
| type IActionNxSetTunnel64 interface { |
| IActionNicira |
| GetValue() uint64 |
| } |
| |
| func (self *ActionNxSetTunnel64) GetValue() uint64 { |
| return self.Value |
| } |
| |
| func (self *ActionNxSetTunnel64) SetValue(v uint64) { |
| self.Value = v |
| } |
| |
| func (self *ActionNxSetTunnel64) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint64(uint64(self.Value)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxSetTunnel64(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxSetTunnel64, error) { |
| _actionnxsettunnel64 := &ActionNxSetTunnel64{ActionNicira: parent} |
| if decoder.Length() < 8 { |
| return nil, fmt.Errorf("ActionNxSetTunnel64 packet too short: %d < 8", decoder.Length()) |
| } |
| _actionnxsettunnel64.Value = uint64(decoder.ReadUint64()) |
| return _actionnxsettunnel64, nil |
| } |
| |
| func NewActionNxSetTunnel64() *ActionNxSetTunnel64 { |
| obj := &ActionNxSetTunnel64{ |
| ActionNicira: NewActionNicira(9), |
| } |
| return obj |
| } |
| func (self *ActionNxSetTunnel64) GetActionName() string { |
| return "nx_set_tunnel64" |
| } |
| |
| func (self *ActionNxSetTunnel64) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Value": self.Value, |
| } |
| } |
| |
| func (self *ActionNxSetTunnel64) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxStackPop struct { |
| *ActionNicira |
| Offset uint16 |
| Field goloxi.IOxmId |
| NBits uint16 |
| } |
| |
| type IActionNxStackPop interface { |
| IActionNicira |
| GetOffset() uint16 |
| GetField() goloxi.IOxmId |
| GetNBits() uint16 |
| } |
| |
| func (self *ActionNxStackPop) GetOffset() uint16 { |
| return self.Offset |
| } |
| |
| func (self *ActionNxStackPop) SetOffset(v uint16) { |
| self.Offset = v |
| } |
| |
| func (self *ActionNxStackPop) GetField() goloxi.IOxmId { |
| return self.Field |
| } |
| |
| func (self *ActionNxStackPop) SetField(v goloxi.IOxmId) { |
| self.Field = v |
| } |
| |
| func (self *ActionNxStackPop) GetNBits() uint16 { |
| return self.NBits |
| } |
| |
| func (self *ActionNxStackPop) SetNBits(v uint16) { |
| self.NBits = v |
| } |
| |
| func (self *ActionNxStackPop) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Offset)) |
| self.Field.Serialize(encoder) |
| encoder.PutUint16(uint16(self.NBits)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxStackPop(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxStackPop, error) { |
| _actionnxstackpop := &ActionNxStackPop{ActionNicira: parent} |
| if decoder.Length() < 8 { |
| return nil, fmt.Errorf("ActionNxStackPop packet too short: %d < 8", decoder.Length()) |
| } |
| _actionnxstackpop.Offset = uint16(decoder.ReadUint16()) |
| if obj, err := DecodeOxmId(decoder); err != nil { |
| return nil, err |
| } else { |
| _actionnxstackpop.Field = obj |
| } |
| |
| _actionnxstackpop.NBits = uint16(decoder.ReadUint16()) |
| return _actionnxstackpop, nil |
| } |
| |
| func NewActionNxStackPop() *ActionNxStackPop { |
| obj := &ActionNxStackPop{ |
| ActionNicira: NewActionNicira(28), |
| } |
| return obj |
| } |
| func (self *ActionNxStackPop) GetActionName() string { |
| return "nx_stack_pop" |
| } |
| |
| func (self *ActionNxStackPop) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Offset": self.Offset, |
| "Field": self.Field, |
| "NBits": self.NBits, |
| } |
| } |
| |
| func (self *ActionNxStackPop) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxStackPush struct { |
| *ActionNicira |
| Offset uint16 |
| Field goloxi.IOxmId |
| NBits uint16 |
| } |
| |
| type IActionNxStackPush interface { |
| IActionNicira |
| GetOffset() uint16 |
| GetField() goloxi.IOxmId |
| GetNBits() uint16 |
| } |
| |
| func (self *ActionNxStackPush) GetOffset() uint16 { |
| return self.Offset |
| } |
| |
| func (self *ActionNxStackPush) SetOffset(v uint16) { |
| self.Offset = v |
| } |
| |
| func (self *ActionNxStackPush) GetField() goloxi.IOxmId { |
| return self.Field |
| } |
| |
| func (self *ActionNxStackPush) SetField(v goloxi.IOxmId) { |
| self.Field = v |
| } |
| |
| func (self *ActionNxStackPush) GetNBits() uint16 { |
| return self.NBits |
| } |
| |
| func (self *ActionNxStackPush) SetNBits(v uint16) { |
| self.NBits = v |
| } |
| |
| func (self *ActionNxStackPush) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Offset)) |
| self.Field.Serialize(encoder) |
| encoder.PutUint16(uint16(self.NBits)) |
| length := len(encoder.Bytes()) - startIndex |
| alignedLength := ((length + 23) / 24 * 24) |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| encoder.Write(bytes.Repeat([]byte{0}, alignedLength-length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxStackPush(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxStackPush, error) { |
| _actionnxstackpush := &ActionNxStackPush{ActionNicira: parent} |
| if decoder.Length() < 8 { |
| return nil, fmt.Errorf("ActionNxStackPush packet too short: %d < 8", decoder.Length()) |
| } |
| _actionnxstackpush.Offset = uint16(decoder.ReadUint16()) |
| if obj, err := DecodeOxmId(decoder); err != nil { |
| return nil, err |
| } else { |
| _actionnxstackpush.Field = obj |
| } |
| |
| _actionnxstackpush.NBits = uint16(decoder.ReadUint16()) |
| return _actionnxstackpush, nil |
| } |
| |
| func NewActionNxStackPush() *ActionNxStackPush { |
| obj := &ActionNxStackPush{ |
| ActionNicira: NewActionNicira(27), |
| } |
| return obj |
| } |
| func (self *ActionNxStackPush) GetActionName() string { |
| return "nx_stack_push" |
| } |
| |
| func (self *ActionNxStackPush) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Offset": self.Offset, |
| "Field": self.Field, |
| "NBits": self.NBits, |
| } |
| } |
| |
| func (self *ActionNxStackPush) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionNxWriteMetadata struct { |
| *ActionNicira |
| Metadata uint64 |
| Mask uint64 |
| } |
| |
| type IActionNxWriteMetadata interface { |
| IActionNicira |
| GetMetadata() uint64 |
| GetMask() uint64 |
| } |
| |
| func (self *ActionNxWriteMetadata) GetMetadata() uint64 { |
| return self.Metadata |
| } |
| |
| func (self *ActionNxWriteMetadata) SetMetadata(v uint64) { |
| self.Metadata = v |
| } |
| |
| func (self *ActionNxWriteMetadata) GetMask() uint64 { |
| return self.Mask |
| } |
| |
| func (self *ActionNxWriteMetadata) SetMask(v uint64) { |
| self.Mask = v |
| } |
| |
| func (self *ActionNxWriteMetadata) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.Write(bytes.Repeat([]byte{0}, 6)) |
| encoder.PutUint64(uint64(self.Metadata)) |
| encoder.PutUint64(uint64(self.Mask)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionNxWriteMetadata(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionNxWriteMetadata, error) { |
| _actionnxwritemetadata := &ActionNxWriteMetadata{ActionNicira: parent} |
| if decoder.Length() < 22 { |
| return nil, fmt.Errorf("ActionNxWriteMetadata packet too short: %d < 22", decoder.Length()) |
| } |
| decoder.Skip(6) |
| _actionnxwritemetadata.Metadata = uint64(decoder.ReadUint64()) |
| _actionnxwritemetadata.Mask = uint64(decoder.ReadUint64()) |
| return _actionnxwritemetadata, nil |
| } |
| |
| func NewActionNxWriteMetadata() *ActionNxWriteMetadata { |
| obj := &ActionNxWriteMetadata{ |
| ActionNicira: NewActionNicira(22), |
| } |
| return obj |
| } |
| func (self *ActionNxWriteMetadata) GetActionName() string { |
| return "nx_write_metadata" |
| } |
| |
| func (self *ActionNxWriteMetadata) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Metadata": self.Metadata, |
| "Mask": self.Mask, |
| } |
| } |
| |
| func (self *ActionNxWriteMetadata) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionOutput struct { |
| *Action |
| Port Port |
| MaxLen uint16 |
| } |
| |
| type IActionOutput interface { |
| goloxi.IAction |
| GetPort() Port |
| GetMaxLen() uint16 |
| } |
| |
| func (self *ActionOutput) GetPort() Port { |
| return self.Port |
| } |
| |
| func (self *ActionOutput) SetPort(v Port) { |
| self.Port = v |
| } |
| |
| func (self *ActionOutput) GetMaxLen() uint16 { |
| return self.MaxLen |
| } |
| |
| func (self *ActionOutput) SetMaxLen(v uint16) { |
| self.MaxLen = v |
| } |
| |
| func (self *ActionOutput) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| self.Port.Serialize(encoder) |
| encoder.PutUint16(uint16(self.MaxLen)) |
| encoder.Write(bytes.Repeat([]byte{0}, 6)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionOutput(parent *Action, decoder *goloxi.Decoder) (*ActionOutput, error) { |
| _actionoutput := &ActionOutput{Action: parent} |
| if decoder.Length() < 12 { |
| return nil, fmt.Errorf("ActionOutput packet too short: %d < 12", decoder.Length()) |
| } |
| _actionoutput.Port.Decode(decoder) |
| _actionoutput.MaxLen = uint16(decoder.ReadUint16()) |
| decoder.Skip(6) |
| return _actionoutput, nil |
| } |
| |
| func NewActionOutput() *ActionOutput { |
| obj := &ActionOutput{ |
| Action: NewAction(0), |
| } |
| return obj |
| } |
| func (self *ActionOutput) GetActionName() string { |
| return "output" |
| } |
| |
| func (self *ActionOutput) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Port": self.Port, |
| "MaxLen": self.MaxLen, |
| } |
| } |
| |
| func (self *ActionOutput) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionPopMpls struct { |
| *Action |
| Ethertype uint16 |
| } |
| |
| type IActionPopMpls interface { |
| goloxi.IAction |
| GetEthertype() uint16 |
| } |
| |
| func (self *ActionPopMpls) GetEthertype() uint16 { |
| return self.Ethertype |
| } |
| |
| func (self *ActionPopMpls) SetEthertype(v uint16) { |
| self.Ethertype = v |
| } |
| |
| func (self *ActionPopMpls) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Ethertype)) |
| encoder.Write(bytes.Repeat([]byte{0}, 2)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionPopMpls(parent *Action, decoder *goloxi.Decoder) (*ActionPopMpls, error) { |
| _actionpopmpls := &ActionPopMpls{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionPopMpls packet too short: %d < 4", decoder.Length()) |
| } |
| _actionpopmpls.Ethertype = uint16(decoder.ReadUint16()) |
| decoder.Skip(2) |
| return _actionpopmpls, nil |
| } |
| |
| func NewActionPopMpls() *ActionPopMpls { |
| obj := &ActionPopMpls{ |
| Action: NewAction(20), |
| } |
| return obj |
| } |
| func (self *ActionPopMpls) GetActionName() string { |
| return "pop_mpls" |
| } |
| |
| func (self *ActionPopMpls) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Ethertype": self.Ethertype, |
| } |
| } |
| |
| func (self *ActionPopMpls) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionPopVlan struct { |
| *Action |
| } |
| |
| type IActionPopVlan interface { |
| goloxi.IAction |
| } |
| |
| func (self *ActionPopVlan) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.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 DecodeActionPopVlan(parent *Action, decoder *goloxi.Decoder) (*ActionPopVlan, error) { |
| _actionpopvlan := &ActionPopVlan{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionPopVlan packet too short: %d < 4", decoder.Length()) |
| } |
| decoder.Skip(4) |
| return _actionpopvlan, nil |
| } |
| |
| func NewActionPopVlan() *ActionPopVlan { |
| obj := &ActionPopVlan{ |
| Action: NewAction(18), |
| } |
| return obj |
| } |
| func (self *ActionPopVlan) GetActionName() string { |
| return "pop_vlan" |
| } |
| |
| func (self *ActionPopVlan) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{} |
| } |
| |
| func (self *ActionPopVlan) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionPushMpls struct { |
| *Action |
| Ethertype uint16 |
| } |
| |
| type IActionPushMpls interface { |
| goloxi.IAction |
| GetEthertype() uint16 |
| } |
| |
| func (self *ActionPushMpls) GetEthertype() uint16 { |
| return self.Ethertype |
| } |
| |
| func (self *ActionPushMpls) SetEthertype(v uint16) { |
| self.Ethertype = v |
| } |
| |
| func (self *ActionPushMpls) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Ethertype)) |
| encoder.Write(bytes.Repeat([]byte{0}, 2)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionPushMpls(parent *Action, decoder *goloxi.Decoder) (*ActionPushMpls, error) { |
| _actionpushmpls := &ActionPushMpls{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionPushMpls packet too short: %d < 4", decoder.Length()) |
| } |
| _actionpushmpls.Ethertype = uint16(decoder.ReadUint16()) |
| decoder.Skip(2) |
| return _actionpushmpls, nil |
| } |
| |
| func NewActionPushMpls() *ActionPushMpls { |
| obj := &ActionPushMpls{ |
| Action: NewAction(19), |
| } |
| return obj |
| } |
| func (self *ActionPushMpls) GetActionName() string { |
| return "push_mpls" |
| } |
| |
| func (self *ActionPushMpls) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Ethertype": self.Ethertype, |
| } |
| } |
| |
| func (self *ActionPushMpls) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionPushVlan struct { |
| *Action |
| Ethertype uint16 |
| } |
| |
| type IActionPushVlan interface { |
| goloxi.IAction |
| GetEthertype() uint16 |
| } |
| |
| func (self *ActionPushVlan) GetEthertype() uint16 { |
| return self.Ethertype |
| } |
| |
| func (self *ActionPushVlan) SetEthertype(v uint16) { |
| self.Ethertype = v |
| } |
| |
| func (self *ActionPushVlan) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.Ethertype)) |
| encoder.Write(bytes.Repeat([]byte{0}, 2)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionPushVlan(parent *Action, decoder *goloxi.Decoder) (*ActionPushVlan, error) { |
| _actionpushvlan := &ActionPushVlan{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionPushVlan packet too short: %d < 4", decoder.Length()) |
| } |
| _actionpushvlan.Ethertype = uint16(decoder.ReadUint16()) |
| decoder.Skip(2) |
| return _actionpushvlan, nil |
| } |
| |
| func NewActionPushVlan() *ActionPushVlan { |
| obj := &ActionPushVlan{ |
| Action: NewAction(17), |
| } |
| return obj |
| } |
| func (self *ActionPushVlan) GetActionName() string { |
| return "push_vlan" |
| } |
| |
| func (self *ActionPushVlan) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "Ethertype": self.Ethertype, |
| } |
| } |
| |
| func (self *ActionPushVlan) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionResubmit struct { |
| *ActionNicira |
| InPort uint16 |
| Table uint8 |
| } |
| |
| type IActionResubmit interface { |
| IActionNicira |
| GetInPort() uint16 |
| GetTable() uint8 |
| } |
| |
| func (self *ActionResubmit) GetInPort() uint16 { |
| return self.InPort |
| } |
| |
| func (self *ActionResubmit) SetInPort(v uint16) { |
| self.InPort = v |
| } |
| |
| func (self *ActionResubmit) GetTable() uint8 { |
| return self.Table |
| } |
| |
| func (self *ActionResubmit) SetTable(v uint8) { |
| self.Table = v |
| } |
| |
| func (self *ActionResubmit) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.ActionNicira.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.InPort)) |
| encoder.PutUint8(uint8(self.Table)) |
| 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 DecodeActionResubmit(parent *ActionNicira, decoder *goloxi.Decoder) (*ActionResubmit, error) { |
| _actionresubmit := &ActionResubmit{ActionNicira: parent} |
| if decoder.Length() < 6 { |
| return nil, fmt.Errorf("ActionResubmit packet too short: %d < 6", decoder.Length()) |
| } |
| _actionresubmit.InPort = uint16(decoder.ReadUint16()) |
| _actionresubmit.Table = uint8(decoder.ReadByte()) |
| decoder.Skip(3) |
| return _actionresubmit, nil |
| } |
| |
| func NewActionResubmit() *ActionResubmit { |
| obj := &ActionResubmit{ |
| ActionNicira: NewActionNicira(14), |
| } |
| return obj |
| } |
| func (self *ActionResubmit) GetActionName() string { |
| return "resubmit" |
| } |
| |
| func (self *ActionResubmit) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "InPort": self.InPort, |
| "Table": self.Table, |
| } |
| } |
| |
| func (self *ActionResubmit) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetDlDst struct { |
| *Action |
| DlAddr net.HardwareAddr |
| } |
| |
| type IActionSetDlDst interface { |
| goloxi.IAction |
| GetDlAddr() net.HardwareAddr |
| } |
| |
| func (self *ActionSetDlDst) GetDlAddr() net.HardwareAddr { |
| return self.DlAddr |
| } |
| |
| func (self *ActionSetDlDst) SetDlAddr(v net.HardwareAddr) { |
| self.DlAddr = v |
| } |
| |
| func (self *ActionSetDlDst) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.Write(self.DlAddr) |
| encoder.Write(bytes.Repeat([]byte{0}, 6)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionSetDlDst(parent *Action, decoder *goloxi.Decoder) (*ActionSetDlDst, error) { |
| _actionsetdldst := &ActionSetDlDst{Action: parent} |
| if decoder.Length() < 12 { |
| return nil, fmt.Errorf("ActionSetDlDst packet too short: %d < 12", decoder.Length()) |
| } |
| _actionsetdldst.DlAddr = net.HardwareAddr(decoder.Read(6)) |
| decoder.Skip(6) |
| return _actionsetdldst, nil |
| } |
| |
| func NewActionSetDlDst() *ActionSetDlDst { |
| obj := &ActionSetDlDst{ |
| Action: NewAction(4), |
| } |
| return obj |
| } |
| func (self *ActionSetDlDst) GetActionName() string { |
| return "set_dl_dst" |
| } |
| |
| func (self *ActionSetDlDst) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "DlAddr": self.DlAddr, |
| } |
| } |
| |
| func (self *ActionSetDlDst) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetDlSrc struct { |
| *Action |
| DlAddr net.HardwareAddr |
| } |
| |
| type IActionSetDlSrc interface { |
| goloxi.IAction |
| GetDlAddr() net.HardwareAddr |
| } |
| |
| func (self *ActionSetDlSrc) GetDlAddr() net.HardwareAddr { |
| return self.DlAddr |
| } |
| |
| func (self *ActionSetDlSrc) SetDlAddr(v net.HardwareAddr) { |
| self.DlAddr = v |
| } |
| |
| func (self *ActionSetDlSrc) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.Write(self.DlAddr) |
| encoder.Write(bytes.Repeat([]byte{0}, 6)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionSetDlSrc(parent *Action, decoder *goloxi.Decoder) (*ActionSetDlSrc, error) { |
| _actionsetdlsrc := &ActionSetDlSrc{Action: parent} |
| if decoder.Length() < 12 { |
| return nil, fmt.Errorf("ActionSetDlSrc packet too short: %d < 12", decoder.Length()) |
| } |
| _actionsetdlsrc.DlAddr = net.HardwareAddr(decoder.Read(6)) |
| decoder.Skip(6) |
| return _actionsetdlsrc, nil |
| } |
| |
| func NewActionSetDlSrc() *ActionSetDlSrc { |
| obj := &ActionSetDlSrc{ |
| Action: NewAction(3), |
| } |
| return obj |
| } |
| func (self *ActionSetDlSrc) GetActionName() string { |
| return "set_dl_src" |
| } |
| |
| func (self *ActionSetDlSrc) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "DlAddr": self.DlAddr, |
| } |
| } |
| |
| func (self *ActionSetDlSrc) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetMplsLabel struct { |
| *Action |
| MplsLabel uint32 |
| } |
| |
| type IActionSetMplsLabel interface { |
| goloxi.IAction |
| GetMplsLabel() uint32 |
| } |
| |
| func (self *ActionSetMplsLabel) GetMplsLabel() uint32 { |
| return self.MplsLabel |
| } |
| |
| func (self *ActionSetMplsLabel) SetMplsLabel(v uint32) { |
| self.MplsLabel = v |
| } |
| |
| func (self *ActionSetMplsLabel) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.MplsLabel)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionSetMplsLabel(parent *Action, decoder *goloxi.Decoder) (*ActionSetMplsLabel, error) { |
| _actionsetmplslabel := &ActionSetMplsLabel{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetMplsLabel packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsetmplslabel.MplsLabel = uint32(decoder.ReadUint32()) |
| return _actionsetmplslabel, nil |
| } |
| |
| func NewActionSetMplsLabel() *ActionSetMplsLabel { |
| obj := &ActionSetMplsLabel{ |
| Action: NewAction(13), |
| } |
| return obj |
| } |
| func (self *ActionSetMplsLabel) GetActionName() string { |
| return "set_mpls_label" |
| } |
| |
| func (self *ActionSetMplsLabel) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "MplsLabel": self.MplsLabel, |
| } |
| } |
| |
| func (self *ActionSetMplsLabel) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetMplsTc struct { |
| *Action |
| MplsTc uint8 |
| } |
| |
| type IActionSetMplsTc interface { |
| goloxi.IAction |
| GetMplsTc() uint8 |
| } |
| |
| func (self *ActionSetMplsTc) GetMplsTc() uint8 { |
| return self.MplsTc |
| } |
| |
| func (self *ActionSetMplsTc) SetMplsTc(v uint8) { |
| self.MplsTc = v |
| } |
| |
| func (self *ActionSetMplsTc) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint8(uint8(self.MplsTc)) |
| 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 DecodeActionSetMplsTc(parent *Action, decoder *goloxi.Decoder) (*ActionSetMplsTc, error) { |
| _actionsetmplstc := &ActionSetMplsTc{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetMplsTc packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsetmplstc.MplsTc = uint8(decoder.ReadByte()) |
| decoder.Skip(3) |
| return _actionsetmplstc, nil |
| } |
| |
| func NewActionSetMplsTc() *ActionSetMplsTc { |
| obj := &ActionSetMplsTc{ |
| Action: NewAction(14), |
| } |
| return obj |
| } |
| func (self *ActionSetMplsTc) GetActionName() string { |
| return "set_mpls_tc" |
| } |
| |
| func (self *ActionSetMplsTc) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "MplsTc": self.MplsTc, |
| } |
| } |
| |
| func (self *ActionSetMplsTc) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetMplsTtl struct { |
| *Action |
| MplsTtl uint8 |
| } |
| |
| type IActionSetMplsTtl interface { |
| goloxi.IAction |
| GetMplsTtl() uint8 |
| } |
| |
| func (self *ActionSetMplsTtl) GetMplsTtl() uint8 { |
| return self.MplsTtl |
| } |
| |
| func (self *ActionSetMplsTtl) SetMplsTtl(v uint8) { |
| self.MplsTtl = v |
| } |
| |
| func (self *ActionSetMplsTtl) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint8(uint8(self.MplsTtl)) |
| 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 DecodeActionSetMplsTtl(parent *Action, decoder *goloxi.Decoder) (*ActionSetMplsTtl, error) { |
| _actionsetmplsttl := &ActionSetMplsTtl{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetMplsTtl packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsetmplsttl.MplsTtl = uint8(decoder.ReadByte()) |
| decoder.Skip(3) |
| return _actionsetmplsttl, nil |
| } |
| |
| func NewActionSetMplsTtl() *ActionSetMplsTtl { |
| obj := &ActionSetMplsTtl{ |
| Action: NewAction(15), |
| } |
| return obj |
| } |
| func (self *ActionSetMplsTtl) GetActionName() string { |
| return "set_mpls_ttl" |
| } |
| |
| func (self *ActionSetMplsTtl) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "MplsTtl": self.MplsTtl, |
| } |
| } |
| |
| func (self *ActionSetMplsTtl) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetNwDst struct { |
| *Action |
| NwAddr uint32 |
| } |
| |
| type IActionSetNwDst interface { |
| goloxi.IAction |
| GetNwAddr() uint32 |
| } |
| |
| func (self *ActionSetNwDst) GetNwAddr() uint32 { |
| return self.NwAddr |
| } |
| |
| func (self *ActionSetNwDst) SetNwAddr(v uint32) { |
| self.NwAddr = v |
| } |
| |
| func (self *ActionSetNwDst) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.NwAddr)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionSetNwDst(parent *Action, decoder *goloxi.Decoder) (*ActionSetNwDst, error) { |
| _actionsetnwdst := &ActionSetNwDst{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetNwDst packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsetnwdst.NwAddr = uint32(decoder.ReadUint32()) |
| return _actionsetnwdst, nil |
| } |
| |
| func NewActionSetNwDst() *ActionSetNwDst { |
| obj := &ActionSetNwDst{ |
| Action: NewAction(6), |
| } |
| return obj |
| } |
| func (self *ActionSetNwDst) GetActionName() string { |
| return "set_nw_dst" |
| } |
| |
| func (self *ActionSetNwDst) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "NwAddr": self.NwAddr, |
| } |
| } |
| |
| func (self *ActionSetNwDst) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetNwEcn struct { |
| *Action |
| NwEcn uint8 |
| } |
| |
| type IActionSetNwEcn interface { |
| goloxi.IAction |
| GetNwEcn() uint8 |
| } |
| |
| func (self *ActionSetNwEcn) GetNwEcn() uint8 { |
| return self.NwEcn |
| } |
| |
| func (self *ActionSetNwEcn) SetNwEcn(v uint8) { |
| self.NwEcn = v |
| } |
| |
| func (self *ActionSetNwEcn) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint8(uint8(self.NwEcn)) |
| 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 DecodeActionSetNwEcn(parent *Action, decoder *goloxi.Decoder) (*ActionSetNwEcn, error) { |
| _actionsetnwecn := &ActionSetNwEcn{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetNwEcn packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsetnwecn.NwEcn = uint8(decoder.ReadByte()) |
| decoder.Skip(3) |
| return _actionsetnwecn, nil |
| } |
| |
| func NewActionSetNwEcn() *ActionSetNwEcn { |
| obj := &ActionSetNwEcn{ |
| Action: NewAction(8), |
| } |
| return obj |
| } |
| func (self *ActionSetNwEcn) GetActionName() string { |
| return "set_nw_ecn" |
| } |
| |
| func (self *ActionSetNwEcn) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "NwEcn": self.NwEcn, |
| } |
| } |
| |
| func (self *ActionSetNwEcn) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetNwSrc struct { |
| *Action |
| NwAddr uint32 |
| } |
| |
| type IActionSetNwSrc interface { |
| goloxi.IAction |
| GetNwAddr() uint32 |
| } |
| |
| func (self *ActionSetNwSrc) GetNwAddr() uint32 { |
| return self.NwAddr |
| } |
| |
| func (self *ActionSetNwSrc) SetNwAddr(v uint32) { |
| self.NwAddr = v |
| } |
| |
| func (self *ActionSetNwSrc) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.NwAddr)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionSetNwSrc(parent *Action, decoder *goloxi.Decoder) (*ActionSetNwSrc, error) { |
| _actionsetnwsrc := &ActionSetNwSrc{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetNwSrc packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsetnwsrc.NwAddr = uint32(decoder.ReadUint32()) |
| return _actionsetnwsrc, nil |
| } |
| |
| func NewActionSetNwSrc() *ActionSetNwSrc { |
| obj := &ActionSetNwSrc{ |
| Action: NewAction(5), |
| } |
| return obj |
| } |
| func (self *ActionSetNwSrc) GetActionName() string { |
| return "set_nw_src" |
| } |
| |
| func (self *ActionSetNwSrc) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "NwAddr": self.NwAddr, |
| } |
| } |
| |
| func (self *ActionSetNwSrc) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetNwTos struct { |
| *Action |
| NwTos uint8 |
| } |
| |
| type IActionSetNwTos interface { |
| goloxi.IAction |
| GetNwTos() uint8 |
| } |
| |
| func (self *ActionSetNwTos) GetNwTos() uint8 { |
| return self.NwTos |
| } |
| |
| func (self *ActionSetNwTos) SetNwTos(v uint8) { |
| self.NwTos = v |
| } |
| |
| func (self *ActionSetNwTos) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint8(uint8(self.NwTos)) |
| 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 DecodeActionSetNwTos(parent *Action, decoder *goloxi.Decoder) (*ActionSetNwTos, error) { |
| _actionsetnwtos := &ActionSetNwTos{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetNwTos packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsetnwtos.NwTos = uint8(decoder.ReadByte()) |
| decoder.Skip(3) |
| return _actionsetnwtos, nil |
| } |
| |
| func NewActionSetNwTos() *ActionSetNwTos { |
| obj := &ActionSetNwTos{ |
| Action: NewAction(7), |
| } |
| return obj |
| } |
| func (self *ActionSetNwTos) GetActionName() string { |
| return "set_nw_tos" |
| } |
| |
| func (self *ActionSetNwTos) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "NwTos": self.NwTos, |
| } |
| } |
| |
| func (self *ActionSetNwTos) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetNwTtl struct { |
| *Action |
| NwTtl uint8 |
| } |
| |
| type IActionSetNwTtl interface { |
| goloxi.IAction |
| GetNwTtl() uint8 |
| } |
| |
| func (self *ActionSetNwTtl) GetNwTtl() uint8 { |
| return self.NwTtl |
| } |
| |
| func (self *ActionSetNwTtl) SetNwTtl(v uint8) { |
| self.NwTtl = v |
| } |
| |
| func (self *ActionSetNwTtl) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint8(uint8(self.NwTtl)) |
| 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 DecodeActionSetNwTtl(parent *Action, decoder *goloxi.Decoder) (*ActionSetNwTtl, error) { |
| _actionsetnwttl := &ActionSetNwTtl{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetNwTtl packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsetnwttl.NwTtl = uint8(decoder.ReadByte()) |
| decoder.Skip(3) |
| return _actionsetnwttl, nil |
| } |
| |
| func NewActionSetNwTtl() *ActionSetNwTtl { |
| obj := &ActionSetNwTtl{ |
| Action: NewAction(23), |
| } |
| return obj |
| } |
| func (self *ActionSetNwTtl) GetActionName() string { |
| return "set_nw_ttl" |
| } |
| |
| func (self *ActionSetNwTtl) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "NwTtl": self.NwTtl, |
| } |
| } |
| |
| func (self *ActionSetNwTtl) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetQueue struct { |
| *Action |
| QueueId uint32 |
| } |
| |
| type IActionSetQueue interface { |
| goloxi.IAction |
| GetQueueId() uint32 |
| } |
| |
| func (self *ActionSetQueue) GetQueueId() uint32 { |
| return self.QueueId |
| } |
| |
| func (self *ActionSetQueue) SetQueueId(v uint32) { |
| self.QueueId = v |
| } |
| |
| func (self *ActionSetQueue) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint32(uint32(self.QueueId)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionSetQueue(parent *Action, decoder *goloxi.Decoder) (*ActionSetQueue, error) { |
| _actionsetqueue := &ActionSetQueue{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetQueue packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsetqueue.QueueId = uint32(decoder.ReadUint32()) |
| return _actionsetqueue, nil |
| } |
| |
| func NewActionSetQueue() *ActionSetQueue { |
| obj := &ActionSetQueue{ |
| Action: NewAction(21), |
| } |
| return obj |
| } |
| func (self *ActionSetQueue) GetActionName() string { |
| return "set_queue" |
| } |
| |
| func (self *ActionSetQueue) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "QueueId": self.QueueId, |
| } |
| } |
| |
| func (self *ActionSetQueue) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetTpDst struct { |
| *Action |
| TpPort uint16 |
| } |
| |
| type IActionSetTpDst interface { |
| goloxi.IAction |
| GetTpPort() uint16 |
| } |
| |
| func (self *ActionSetTpDst) GetTpPort() uint16 { |
| return self.TpPort |
| } |
| |
| func (self *ActionSetTpDst) SetTpPort(v uint16) { |
| self.TpPort = v |
| } |
| |
| func (self *ActionSetTpDst) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.TpPort)) |
| encoder.Write(bytes.Repeat([]byte{0}, 2)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionSetTpDst(parent *Action, decoder *goloxi.Decoder) (*ActionSetTpDst, error) { |
| _actionsettpdst := &ActionSetTpDst{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetTpDst packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsettpdst.TpPort = uint16(decoder.ReadUint16()) |
| decoder.Skip(2) |
| return _actionsettpdst, nil |
| } |
| |
| func NewActionSetTpDst() *ActionSetTpDst { |
| obj := &ActionSetTpDst{ |
| Action: NewAction(10), |
| } |
| return obj |
| } |
| func (self *ActionSetTpDst) GetActionName() string { |
| return "set_tp_dst" |
| } |
| |
| func (self *ActionSetTpDst) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "TpPort": self.TpPort, |
| } |
| } |
| |
| func (self *ActionSetTpDst) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetTpSrc struct { |
| *Action |
| TpPort uint16 |
| } |
| |
| type IActionSetTpSrc interface { |
| goloxi.IAction |
| GetTpPort() uint16 |
| } |
| |
| func (self *ActionSetTpSrc) GetTpPort() uint16 { |
| return self.TpPort |
| } |
| |
| func (self *ActionSetTpSrc) SetTpPort(v uint16) { |
| self.TpPort = v |
| } |
| |
| func (self *ActionSetTpSrc) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.TpPort)) |
| encoder.Write(bytes.Repeat([]byte{0}, 2)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionSetTpSrc(parent *Action, decoder *goloxi.Decoder) (*ActionSetTpSrc, error) { |
| _actionsettpsrc := &ActionSetTpSrc{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetTpSrc packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsettpsrc.TpPort = uint16(decoder.ReadUint16()) |
| decoder.Skip(2) |
| return _actionsettpsrc, nil |
| } |
| |
| func NewActionSetTpSrc() *ActionSetTpSrc { |
| obj := &ActionSetTpSrc{ |
| Action: NewAction(9), |
| } |
| return obj |
| } |
| func (self *ActionSetTpSrc) GetActionName() string { |
| return "set_tp_src" |
| } |
| |
| func (self *ActionSetTpSrc) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "TpPort": self.TpPort, |
| } |
| } |
| |
| func (self *ActionSetTpSrc) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetVlanPcp struct { |
| *Action |
| VlanPcp uint8 |
| } |
| |
| type IActionSetVlanPcp interface { |
| goloxi.IAction |
| GetVlanPcp() uint8 |
| } |
| |
| func (self *ActionSetVlanPcp) GetVlanPcp() uint8 { |
| return self.VlanPcp |
| } |
| |
| func (self *ActionSetVlanPcp) SetVlanPcp(v uint8) { |
| self.VlanPcp = v |
| } |
| |
| func (self *ActionSetVlanPcp) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint8(uint8(self.VlanPcp)) |
| 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 DecodeActionSetVlanPcp(parent *Action, decoder *goloxi.Decoder) (*ActionSetVlanPcp, error) { |
| _actionsetvlanpcp := &ActionSetVlanPcp{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetVlanPcp packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsetvlanpcp.VlanPcp = uint8(decoder.ReadByte()) |
| decoder.Skip(3) |
| return _actionsetvlanpcp, nil |
| } |
| |
| func NewActionSetVlanPcp() *ActionSetVlanPcp { |
| obj := &ActionSetVlanPcp{ |
| Action: NewAction(2), |
| } |
| return obj |
| } |
| func (self *ActionSetVlanPcp) GetActionName() string { |
| return "set_vlan_pcp" |
| } |
| |
| func (self *ActionSetVlanPcp) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "VlanPcp": self.VlanPcp, |
| } |
| } |
| |
| func (self *ActionSetVlanPcp) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |
| |
| type ActionSetVlanVid struct { |
| *Action |
| VlanVid uint16 |
| } |
| |
| type IActionSetVlanVid interface { |
| goloxi.IAction |
| GetVlanVid() uint16 |
| } |
| |
| func (self *ActionSetVlanVid) GetVlanVid() uint16 { |
| return self.VlanVid |
| } |
| |
| func (self *ActionSetVlanVid) SetVlanVid(v uint16) { |
| self.VlanVid = v |
| } |
| |
| func (self *ActionSetVlanVid) Serialize(encoder *goloxi.Encoder) error { |
| startIndex := len(encoder.Bytes()) |
| if err := self.Action.Serialize(encoder); err != nil { |
| return err |
| } |
| |
| encoder.PutUint16(uint16(self.VlanVid)) |
| encoder.Write(bytes.Repeat([]byte{0}, 2)) |
| length := len(encoder.Bytes()) - startIndex |
| |
| binary.BigEndian.PutUint16(encoder.Bytes()[startIndex+2:startIndex+4], uint16(length)) |
| |
| return nil |
| } |
| |
| func DecodeActionSetVlanVid(parent *Action, decoder *goloxi.Decoder) (*ActionSetVlanVid, error) { |
| _actionsetvlanvid := &ActionSetVlanVid{Action: parent} |
| if decoder.Length() < 4 { |
| return nil, fmt.Errorf("ActionSetVlanVid packet too short: %d < 4", decoder.Length()) |
| } |
| _actionsetvlanvid.VlanVid = uint16(decoder.ReadUint16()) |
| decoder.Skip(2) |
| return _actionsetvlanvid, nil |
| } |
| |
| func NewActionSetVlanVid() *ActionSetVlanVid { |
| obj := &ActionSetVlanVid{ |
| Action: NewAction(1), |
| } |
| return obj |
| } |
| func (self *ActionSetVlanVid) GetActionName() string { |
| return "set_vlan_vid" |
| } |
| |
| func (self *ActionSetVlanVid) GetActionFields() map[string]interface{} { |
| return map[string]interface{}{ |
| "VlanVid": self.VlanVid, |
| } |
| } |
| |
| func (self *ActionSetVlanVid) MarshalJSON() ([]byte, error) { |
| jsonValue, err := json.Marshal(self.GetActionFields()) |
| if err != nil { |
| return nil, err |
| } |
| return []byte(fmt.Sprintf("{\"Type\":\"%s\",\"Arguments\":%s}", self.GetActionName(), string(jsonValue))), nil |
| } |